Ubuntu下实现不同服务器之间mysql自动同步

首先,需要两台服务器:192.168.92.128 –master
192.168.92.130 –slave 注意:

主从机数据库安装版本最好一致

切换到主服务器中

1、修改主服务器中的配置文件

vim /etc/mysql/mysql.conf.d/mysqld.cnf 
加入以下代码
server-id       = 1   //数字随意设置,只要主从id不重复即可
log-bin         = master-bin    //开启二进制日志
log-bin-index   = master-bin.index
skip-name-resolve   
binlog-do-db    = my_data   //需要备份的数据库名
binlog-ignore-db= mysql,information_schema   //需要忽略的数据库名

这里只需要修改需要备份的数据库名

2、然后重启数据库服务

 /etc/init.d/mysql restart 

3、 授权一个实现复制数据的用户

 mysql> grant replication 账户 on *.* to slave@'从数据库' identified by '密码'; 

切换到从数据库服务器

1、修改配置文件

vim /etc/mysql/mysql.conf.d/mysqld.cnf
加入以下代码
server-id      = 2
relay_log      = slave-relay-bin   //开启中继日志
relay_log_index = slave-relay-bin.index   //一定要保证和master不一致

2、重启服务
 /etc/init.d/mysql restart

3、master数据库服务器上查看 先进入mysql 执行 : show master status;

注意数据master-bin.000024和 Position  658  这两个数据 你的可能和我的不一样,按照你的来

4、进入slave数据库执行:

change master to master_host='192.168.1.128',master_port=3306,master_user='root',master_password='123456',master_log_file='master-bin.000024',master_log_pos=658;

将上面的代码中的用户名,密码,文件,pos等换成自己的

5、开启从服务,并查看从的状态 执行 start slave启动

当Slave_IO_Running: Yes  Slave_SQL_Running: Yes主从数据库即同步

如果需要关闭,执行 stop slave;

最最关键的是,一定要在两台数据库的配置文件中将
bind-address f = 127.0.0.1注释

0 评论
留言