前提:为了方便搭建,我直接使用了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,则再次执行一到四。如果不想一次次重复,可以在第二步中跳过多条错误的语句。