mysql主从复制配置

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

你可能感兴趣的:(mysql)