前提:为了方便搭建,我直接使用了lnmp搭建环境,mysql版本使用5.6版本,数据库为test(在主服务器上创建数据库后备份拉到从服务器)
部署LNMP ( 安装详情请见:https://lnmp.org/install.html);
二台虚拟机 一台为主服务器,另一台为从服务器
主服务器:192.168.175.130
从服务器:192.168.175.131
(ip根据自己虚拟机情况定,centos7查看ip命令行:ip addr)
下面正式开始搭建
主服务器搭建:
第一步:
首先找到mysql的配置文件my.cnf,找不到可以使用命令find / -name my.cnf 查到文件位置
第二步:
在文件尾部添加命令
log-bin = mysql-bin
binlog-do-db = test (这个是你要同步的数据库)
binlog-ignore-db = mysql
第三步:(***自己设置的密码)
进入mysql端,命令行:mysql -u root -p *****
第四步:
创建同步数据的账号,命令行:grant replication slave on *.* to 'test'@'%' identified by '123456';
test 代表的是账号
123456 代表的是密码
% 代表的是所有ip可以访问
第五步:
使用命令行查看数据库信息: show master status;
这里是用不到的了,这里是给从数据库使用。
从服务器搭建:
第一步:
从服务器第一步和主服务器第一步可以说是类似的,也是找出my.cnf文件
(查找文件请看主服务器第一步)
第二步:
打开my.cnf文件,找到 server-id=1 把 1 改成 2
第三步:
进入mysql端和主服务器一样,详情见主服务器第三步
关键性一步来了
第四步:
停掉 slave ,命令行:stopslave;
再输入命令行:
change master to
-> master_host='192.168.175.130',
-> master_port=3306,
-> master_user='test',
-> master_password='123456',
-> master_log_file='mysql-bin.000011',
-> master_log_pos=630;
master_host 主服务器IP地址
master_port 主服务器端口
master_user 主服务添加的用户名(详见主服务器搭建第四步用户名)master_password 主服务添加的密码(详见主服务器搭建第四步密码)
master_log_file 主服务器的File字段 (主服务器搭建第五步)
master_log_pos主服务器的Position字段 (主服务器搭建第五步)
执行命令就可以了
最后一步:
重启slave:命令行:start slave;
执行 show slave status;查看是否成功
执行 show slave status\G;
如果你的这二个参数也会yes的话证明你配置成功了
注意:当配置成功后不要重启主服务器数据库,如果实在要重启的话,就要重新配置从服务器,因为重启数据库后File和Position也会改变
如果 Slave_IO_Running 不是yes的话,首先ping一下服务器之间是否相通,不通的话配置通后重启就可以了。如果你的虚拟机是克隆的话就要修改auto.cnf,主要把auto.cnf这个文件删除掉,再重启就可以了。
server-uuid 的值重启MySQL即可
位置在 /usr/local/mysql/var
从库在同步时出错,没有能正常同步,解决方法:
第一:停止slave,slave stop;
第二:跳过一条出错的语句:set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
第三:启动slave,slave start;
第四:使用show slave status \G 查看当前的同步情况,如果Slave_SQL_Running: Yes,则成功,如果Slave_SQL_Running: No,则再次执行一到四。如果不想一次次重复,可以在第二步中跳过多条错误的语句。
发表评论 取消回复