mysql主从复制配置
环境准备
192.168.1.159:3306
192.168.1.160:3306
两台服务器,作为mysql数据库的主从服务器,配置复制。
在主服务器上创建复制用户
mysql> grant replication slave,replication client on *.* to slave_user@'192.168.%.%' identified by 'slave_psd';
其中:
slave_user为用户名,可以自己取一个;192.168.%.%表示类似192.168的用户的IP均可访问,表示内网可以访问,如果只允许1网段的用户访问,那么可以设置成192.168.1.%;slave_psd表示密码,可以自己随便访问。
主服务器更新系统权限
mysql> flush privileges;
主服务器修改配置文件
- 添加log-bin
添加server-id
root@localhost:/usr/local/mysql5.6.30# vim /etc/mysql/my.cnf log-error = /var/log/mysql/error.log log-bin = mysql-bin server-id = 159
主服务器重启mysql服务
root@localhost:/usr/local/mysql5.6.30# service mysql restart
主服务器登录mysql并查看状态
root@localhost:/usr/local/mysql5.6.30# mysql -uroot -p密码
mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000001 | 120 | | | |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
在从服务器上创建复制用户
mysql> grant replication slave,replication client on *.* to slave_user@'192.168.%.%' identified by 'slave_psd';
从服务器更新系统权限
mysql> flush privileges;
从服务器修改配置文件
- 添加log-bin
- 添加server-id
- 添加log_slave_updates
添加read_only
root@localhost:/usr/local/mysql5.6.30# vim /etc/mysql/my.cnf log-error = /var/log/mysql/error.log log-bin = mysql-bin server-id = 160 log_slave_updates=1 read_only=1
从服务器配置从服务器
root@localhost:/home/xiaoyao# mysql -uroot -piloveyou
mysql> change master to master_host='192.168.1.159',master_user='slave_user',master_password='slave_psd', master_log_file='mysql-bin.000001', master_log_pos=0;
其中:
192.168.1.159为主服务器的IP;slave_user要与上述的用户一致,slave_psd也是和上述的一致
查看从服务器的状态
mysql> show slave status\G
启动从服务器的复制
mysql> start slave;
查看从服务器的状态
mysql> show slave status\G
比较下与上一次的不同
配置完成。查看主服务器的连接状态。
root@localhost:/usr/local/mysql5.6.30# mysql -uroot -piloveyou
mysql> show processlist\G