系统:ubuntu14.0.4 server
A机器(主) 15.212.56.7
B机器(从)15.212.45.2
1,进入主机器(A)mysql控制台
mysql -uroot -ppwd
(1)创建远程登录账户
insert into mysql.user(Host,User,Password) values('@youHost','@youname',password('@youpwd'));
说明:
@youHost:机器(B)的ip 在这里是15.212.45.2
@youname:登录名
@youpwd:登录密码
(2) 为登录用户授权
(1),命令:grant replication slave on *.* to '@youname'@'Ahost' identified by 'pwd' with grant option;
(2),参数说明:
*.*:是指A机器上所有数据库的所有表
Ahost:本机的ip 即A的ip
pwd:登录密码
(3)命令:flush privileges;//刷新权限
ps 遇到不能远程登陆的情况可以直接到 /etc/mysql/my.conf 将bind_address注释掉
(3)配置A服务器
1),进入/etc/mysql目录
2),修改my.conf配置文件
server-id=1 #设置服务器id,为1表示主服务器,注意:如果原来的配置文件中已经有这一行,就不用再添加了。
log_bin=mysql-bin #启动MySQ二进制日志系统,注意:如果原来的配置文件中已经有这一行,就不用再添加了。
binlog-do-db=imdou8 #需要同步的数据库名,如果有多个数据库,可重复此参数,每个数据库一行
binlog-ignore-db=mysql #不同步mysql系统数据库
binlog_format=row #解决HY0000错误
3),重启mysql服务 service mysql restart
4),mysql -u root -ppwd #进入mysql控制台
输入命令:show master status 会看到一个表格: 其中有两个值 mysql-bin.000XX 和一个数字 本机的是107
(4)配置B服务器
1),进入/etc/mysql目录
2),修改my.conf配置文件
server-id=2 #设置服务器id,为1表示主服务器,注意:如果原来的配置文件中已经有这一行,就不用再添加了。
log_bin=mysql-bin #启动MySQ二进制日志系统,注意:如果原来的配置文件中已经有这一行,就不用再添加了。
binlog-do-db=imdou8 #需要同步的数据库名,如果有多个数据库,可重复此参数,每个数据库一行
binlog-ignore-db=mysql #不同步mysql系统数据库
binlog_format=row #解决HY0000错误
3),重启mysql服务 service mysql restart
4),mysql -u root -ppwd #进入mysql控制台
输入命令
slave stop;
change master to master_host='Aip',master_user='youname',master_password='pwd' master_log_file='mysql-bin.000001' ,master_log_pos=107;
slave start;
找到以下两个值如果都是yes则说明配置成功
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
(5)测试
进入A机器,创建一张表并插入数据 查看是否在B机器同步