Centos7 Mysql5.7主从服务器配置

在两台Linux机器上安装MySQL

一、Master主服务器配置
1.编辑my.cnf(命令查找文件位置:find / -name my.cnf)
vi /etc/mysql/my.cnf

在[mysqld]中添加:

server-id = 100
innodb_flush_log_at_trx_commit = 1
sync_binlog = 1
log_bin = master-bin
log_bin_index = master-bin.index
binlog_do_db = my_data
binlog_ignore_db = mysql

备注:server-id 服务器唯一标识,log_bin 启动MySQL二进制日志,binlog_do_db 指定记录二进制日志的数据库,binlog_ignore_db 指定不记录二进制日志的数据库。

2.登录主服务器MySQL创建从服务器用到的账户和权限:

GRANT REPLICATION SLAVE ON *.* TO 'backup'@'%' IDENTIFIED BY '密码'

3.重启MySQL
systemctl restart mysqld.service

4.释放锁
mysql> UNLOCK TABLES;

5.登录MySQL状态下,查看主服务器状态:
mysql> show master status;
+-------------------+----------+----------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-------------------+----------+----------------+------------------+-------------------+
| master-bin.000001 | 2261 | my_data | mysql | |
+-------------------+----------+----------------+------------------+-------------------+

二、Slave从服务器配置
1.编辑my.cnf(命令查找文件位置:find / -name my.cnf)
vi /etc/mysql/my.cnf

在[mysqld]中添加:

server-id = 101
relay_log = slave-relay-bin
relay_log_index = slave-relay-bin.index

2.重启MySQL
systemctl restart mysqld.service


3.登录Slave从服务器,连接Master主服务器
mysql> change master to master_host='主服务器IP',master_port=3306,master_user='backup',master_password='密码',master_log_file='master-bin.000001',master_log_pos=154;

4.执下面命令,根据具体的错误来判定,一般用于主键冲突或者更新失败错误,进行手动跳过。
mysql> stop slave sql_thread;set global sql_slave_skip_counter=1;start slave sql_thread;

5.登录MySQL状态下,启动Slave数据同步。
start slave;

6.登录MySQL状态下,查看Slave信息:
show slave statusG;

Slave_IO_Running和Slave_SQL_Running都为yes才表示同步成功。
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

原文地址:https://www.cnblogs.com/skyblue/p/7772457.html