欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

[备忘]mysql Master Slave主从同步(复制)配置及常见问题

程序员文章站 2022-06-05 14:48:08
...

今天用到的了这块儿的内容,服务器之间做数据同步,准备两台服务器,一台做Master,一台slave。 服务器环境:Ubuntu 10.04 64位 Server; 确保两台服务器的MYSQL版本一致,需要同步的库等一致; 一、设置Master服务器: 1,编辑Mysql配置文件 vi /etc/mysql/

今天用到的了这块儿的内容,服务器之间做数据同步,准备两台服务器,一台做Master,一台slave。
服务器环境:Ubuntu 10.04 64位 Server;
确保两台服务器的MYSQL版本一致,需要同步的库等一致;

一、设置Master服务器:
1,编辑Mysql配置文件

vi /etc/mysql/my.cnf

2,打开后,在 [mysqld]加入以下信息:

[mysqld]
log-bin=mysql-bin   //启用二进制日志
server-id=71        //服务器唯一ID

3,重启Mysql:

/etc/init.d/mysql restart

4,登录Mysql,创建slave同步账户:

GRANT REPLICATION SLAVE ON *.* to 'backuser'@'192.168.1.190' identified by 'backuserpwd'; 
flush privileges;

@后面的IP为指定的备份服务器IP,安全起见只允许该IP连接。
5,查看主服务器Master状态

show master status;

记住查询到的值:
[备忘]mysql Master Slave主从同步(复制)配置及常见问题

二、配置slave从服务器
前三步配置跟Master的一样:
1,编辑Mysql配置文件

vi /etc/mysql/my.cnf

2,打开后,在 [mysqld]加入以下信息:

[mysqld]
log-bin=mysql-bin   //启用二进制日志
server-id=72       //服务器唯一ID,这里的ID跟Master的不能相同,

3,重启Mysql:

/etc/init.d/mysql restart

4,更改slave信息:

change master to master_host='192.168.1.193',master_user='backuser',master_password='backuserpwd',master_log_file='mysql-bin.000006',master_log_pos=20555,Master_Port=3301;

上面语句中master_log_file=’mysql-bin.000006′,master_log_pos=20555为上一步记住的值,Master_Port的值默认是3306,一般可以不用跟上,修改过的就写上吧~
5,启动slave:

slave start;     //停止则为stop;

6,查看slave状态:

show slave status\G;

结果中以下两条为Yes则说明成功:

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

接着在主服务器数据库中添加数据测试下吧~
本身挺简单的,我写得比较详细,一步一步列出来。

若无法连接数据库,切记检查配置文件中以下内容是否被注释掉,前加#:

bind-address        = 127.0.0.1