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
草根-920