CentOS7配置Mysql主从配置

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

一、准备工作

1、环境 CentOS7,Mysql5.7

2、在主数据库上创建好库和表,导出库表,再导入到从数据库,保持主从库的数据和库结构一致。

二、主从配置部步骤

1、配置root用户可远程连接,方便进行使用可视化工作进行测试(可以不配置)

mysql> grant all privileges on *.* to 'root'@'%' identified by 'Root123!@#' with grant option;
mysql> flush privileges;

2、(主库)添加新用户 uslave,分配置REPLICATION SLAVE权限,专门用于主从复制,当时也要允许远程登录

mysql> CREATE USER 'uslave'@'%' IDENTIFIED BY 'Uslave123!@#';
mysql> grant REPLICATION SLAVE ON *.* TO 'uslave'@'%';

3、(主从都要配置)开启mysql配置的端口:3306

# firewall-cmd --zone=public --add-port=3306/tcp --permanent
# firewall-cmd --reload

4、(主库)修改 /etc/my.cnf配置

log-bin=mysql-bin   #[必须]启用二进制日志

server-id=1        #[必须]服务器唯一ID,默认是1

binlog-do-db=test     #需要同步的库

replicate-do-db=test    #需要同步的库

binlog-ignore-db = information_schema #不需要同步的库

binlog-ignore-db = performance_schema #不需要同步的库

binlog-ignore-db = sys #不需要同步的库

binlog-ignore-db = mysql #不需要同步的库

重启mysql

# systemctl restart mysqld

5、(主库)查看主库状态,如下表示已经配置好了,字段 File和Position在配置从库的时候会用到

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

6、(从库)修改 /etc/my.cnf配置

log-bin=mysql-bin   #启用二进制日志
server-id=2        #[必须]服务器唯一ID,要比主库大

7、在从库中添加主库配置信息,并且启动从库同步 会用到上面的file和position字段

mysql> change master to 
    -> master_host='192.168.137.20',
    -> master_user='uslave',
    -> master_password='uslave123!@#',master_log_file='mysql-bin.000001',master_log_pos=154;  
mysql> start slave;
mysql> show slave status\G

会看几个参数如下:

Slave_IO_Running:yes

Slave_SQL_Running:yes

...

Last_IO_Error:0

Last_SQL_Error:0

这样表示是成功。

这两项都必须是Yes,如果Slave_SQL_Running为No,可能在slave上进行了写操作或者事务回滚报错 可以通过以下办法来解决

mysql> stop slave;
mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
mysql> start slave;
mysql> show slave status;

配置成功之后重启一下从库

8、接下来就是验证配置是否成功 通过脚本修改主库数据库的内容,再查询从库是否同时改变内容

转载于:https://my.oschina.net/gKWW0kOYB/blog/1829540

你可能感兴趣的:(CentOS7配置Mysql主从配置)