mysql5.7主从复制及相关注意点!

首先在两台不同IP的服务器安装相同版本的mysql(也可以docker 用 network模式).例如

 

主数据库(master) 178.18.0.2

my.cnf的设置(一般在/etc/mysql/my.cnf 具体路径自己找下)

#要看准这些,不是是[mysql]这里的

[mysqld]       

#id标识                 

server-id=1

#(开启binlog)

log-bin=/var/lib/mysql/mysql-bin

#这里设置不要备份的部分

binlog-ignore-db=mysql
binlog-ignore-db=sys

连接主数据库,创建一个从服务器可以连接的用户   就是cmd界面出现 mysql>这样的时候;

GRANT ALL PRIVILEGES ON *.* TO 'slave'@'%' IDENTIFIED BY 'abc123456!' WITH GRANT OPTION;  

#为了安全,这个%也可以换从服务器IP,例如从服务器IP是178.18.0.3 这样的。

然后刷新数据库

FLUSH PRIVILEGES;

重启数据库,查看主数据库状态

show master status;

 

 

 类似这样的东西,记录file 和 position 以备从服务器使用.这个数据,每重启一次数据库,有可能会改变,所以重启服务器后,从服务器要做相应改变

 

从数据库存 (slave) 178.18.0.3

首先,在从服务器测试是否可以连接得上主服务器

cmd后运行,mysql -h 178.18.0.2 -uslave -pabc123456! 如果可以连接的上,证明可以互通!

my.cnf的设置(一般在/etc/mysql/my.cnf 具体路径自己找下)

[mysqld]                         

server-id=2

连接从数据库后,运行下面命令,部分数据按实际

CHANGE MASTER TO
MASTER_HOST='178.18.0.2',
MASTER_USER='slave',
MASTER_PASSWORD='abc123456!',
MASTER_LOG_FILE='mysql-bin.000002',
MASTER_LOG_POS=2216;
然后运行
start slave;
接着运行
show slave status \G;
查看从服务器运行状态

Slave_IO_Running: Yes

Slave_SQL_Running: Yes
如果这两个都是Yes的话,证明主从两台服务器已经正常连接上了

 

posted @ 2019-09-23 17:34  火鸟网络  阅读(442)  评论(0编辑  收藏  举报