1、准备两台相同一版本的数据库(5.6.51)

  192.168.1.7(master)

  192.168.1.6(slave)

2、修改主服务器配置文件 /etc/my.cnf 添加一下

  vim /etc/my.cnf

    [mysqld]

      log-bin = mysql-bin  //启动二进制日志(必须)

      binlog_format = mixed    //二进制日志格式

      server-id = 7     //服务器唯一ID 

3、重启MySQL服务 

systemctl restart mysql

4、在主服务器上为从服务器分配一个账号,来共享主服务器上的日志文件

mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.01 sec)

REPLICATION SLAVE   :分配复制权限

*.*  :可以操作任意数据库

5、查看配置状态

mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000003 |      324 |              |                  |                   |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

  二、配置从数据库(slave)

1、修改从服务器配置文件 /etc/my.cnf 添加一下

[mysqld]

log-bin = mysql-bin   //启动二进制(可以开启,也可以不开启)
binlog_do_db = test  //需要同步的数据库
server-id = 6

  需要同步数据库

    binlog_do_db = tables

  不同步的数据库,其他都同步

    binlog_ignore_db =mysql

    binlog_ignore_db =information

2、重启MySQL服务 

systemctl restart mysql

3、关闭salve(必须要先关闭)

mysql> stop slave;
Query OK, 0 rows affected, 1 warning (0.00 sec)

4、配置从数据库

change master to 
master_host='192.168.1.7',
master_user='slave',
master_password='123456',
master_log_file ='mysql-bin.000003',
master_log_pos=324 ;

  说明:

  master_host             //设置要连接猪数据库的ip
  master_user        //设置要连接主数据库的用户名

  master_password      //连接主数据库用户名的密码
  master_log_file      //设置连接主数据库的bin目录的日志名称{一(5)获取信息}
  master_log_pos       //设置连接主服务器的bin目录的记录位置
5、启动slave同步
mysql> start slave;
Query OK, 0 rows affected (0.00 sec)

 6、检查从服务器复制功能的状态

show slave status ;

 

7、最好给从数据库创建一个只读账号,使用该账号登录

GRANT ALL PRIVILEGES ON *.* TO 'reader'@'%' IDENTIFIED BY '123456';

  

 

END

 

 

 

posted on 2022-10-17 18:39  草根920  阅读(145)  评论(0编辑  收藏  举报