主数据库: CentOS7, MySQL 5.7 , 阿里云服务器外网IP
从数据库: Ubuntu, MySQL 5.7 , 虚拟机IP(无关紧要)
先配置mysql的数据配置
vim /etc/my.cnf
打开之后 找到一个 [mysqld] 在这个里面去新增配置(下面就是你要设置的主配置了) 编辑命令: i
主数据库配置
server-id=1 #设置主服务器的ID
innodb_flush_log_at_trx_commit=2 #事务处理时 写进log速度 0:速度最快不安全 1:最安全速度慢 2:速度快也安全
sync_binlog=1 #开启binlog日志同步功能
log-bin=mysql-bin-1 #binlog日志文件名
binlog-do-db=test #这个表示只同步某个库 (如果没有此项,表示同步所有的库)(这里的test表示我同步是test库)
编辑完成后 保存命令 :wq
重启数据库
然后就进入mysql 命令:
mysql -uroot -p
输入mysql密码
创建主数据库账号(用于从库链接的账户)
grant replication slave on *.* to '这里填写用户名mark'@'这里填写从数据库的IP或者%' identified by '这里填写密码123456';
#授权给从数据库IP或%任意主机,用户名mark 密码123456
查看配置状态(这里的两个数据很重要 等会下面会用 一个file 一个position)
show master status
好了 上面的主库配置就完成了
下面去到我们的从库配置 还是照旧vim /etc/my.cnf
从数据库配置
server-id=2
innodb_flush_log_at_trx_commit=2
sync_binlog=1
log-bin=mysql-bin-2
编辑完成后 保存命令 :wq
重启数据库 lnmp mysql restart
然后就进入mysql 命令:
mysql -uroot -p
输入mysql密码
创建链接主库的配置
change master to master_host='这里填写主数据库的ip地址', master_user='填写刚刚创建的用户名mark' ,master_password='填写刚刚创建的密码123456', master_log_file='这里填写刚刚查看的File值mysql-bin-200.000002' ,master_log_pos=这里填写刚刚查看的Position值1163;
输入完后 启动slave 从库链接
start slave;
启动成功后 查看从库配置
show slave status \G;
看到了我们红色圈圈这两个值都为YES证明配置成功且链接主库成功了!!
如果想关闭主从分离的话就直接在从数据库输入该命令
stop slave;
reset slave;
好了 链接成功后就可以去测试下在主库新建一条数据 从库就会新建一条数据了