MYSQL 主从配置
MySQL主从可以实现MySQL的读写分离,简言之,master上进行写操作,同步数据库,slave上进行读操作,可以极大的提升性能,降低服务器负载,在此不做赘述,下面以两台机器来做主从配置详解。
开始之前的准备工作:
1、准备两台服务器
主数据库 | 192.168.60.12 | master |
从数据库 | 192.168.60.13 | slave |
2、启动两台服务器
3、关闭系统防火墙
4、保证两台服务器之间可以相互ping 通
具体操作步骤如下:
第一步:在主数据库master 上编辑mysql配置文件,做如下操作:
注:mysql安装方式的不同会导致mysql的配置文件的位置不一样,大家要根据自己的安装位置来找配置文件,一般默认路径:
vim /etc/my.cnf
[mysqld]
bind_address = 0.0.0.0
server-id = 2 #IP地址最后一位
log_bin = /var/log/mysql/mysql-bin.log #开启binlog 日志
expire_logs_days = 10 #日志的缓存时间
max_binlog_size = 200M #日志的最大大小
binlog_do_db = data_collection#同步的数据库名称
binlog_ignore_db = mysql #忽略同步的数据库
第二步:在从数据库slave上编辑mysql配置文件,做如下操作:
vim /etc/my.cnf
[mysqld]
bind_address = 0.0.0.0
server-id = 23 #IP地址最后一位
expire_logs_days = 10 #日志的缓存时间
max_binlog_size = 200M #日志的最大大小
replicate_do_db = data_collection#同步的数据库名称
replicate_ignore_db = mysql #忽略同步的数据库
第三步:在主数据master上创建一个同步权限的账户repl,用来同步数据,做如下操作:
mysql>CREATE USER 'repl'@'192.168.60.13' IDENTIFIED BY 'slavepass'; #创建用户
mysql>GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.60.13' IDENTIFIED BY 'slavepass'; #分配权限
mysql>flush privileges; #刷新权限
show master status; #查看主数据库master的状态,不要关闭窗口先 ,不要重启
第五步:在从数据库slave上做如下操作:
mysql> change master to
-> master_host='192.168.60.12',
-> master_user='repl',
-> master_password='slavepass',
-> master_port=3306,
-> master_log_file='mysql-bin.000003',
-> master_log_pos=73;
第六步:启动slave
start slave;
第七步:查看slave状态
show slave status;
如果出现下面的提升,则mysql主从数据库配置成功。
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
stop slave;
注:可能存在的问题:
删除从数据库的配置文件auto.cnf,然后主数据重新授权,然后再change to master。

浙公网安备 33010602011771号