当前位置:Gxlcms > mysql > mysqlreplication官方中文文档_MySQL

mysqlreplication官方中文文档_MySQL

时间:2021-07-01 10:21:17 帮助过:3人阅读

bitsCN.com

mysql replication官方中文文档

准备工作:

1.保证Master/Slave两台主机上mysql的版本一致,避免不必要的麻烦。

2.保证Master/Slave能够互相ping通,能够通信。

Master主机IP:192.168.1.1

Slave主机IP:192.168.1.2

配置my.ini:

Master - my.ini

在[mysqld]下添加:

log-bin = mysql-bin #因为MYSQL是基于二进制的日志来做同步的,每个日志文件大小为 1G

server-id = 1 #主标服务标识号,必需唯一

binlog-do-db = db_user #要同步的库名

binlog-do-db = db_topic

binlog-ignore-db=mysql,test #不记录日志的库,即不需要同步的库

Slave - my.ini

在[mysqld]下添加:

server-id = 2

log-bin = mysql-bin #如果不做双向同步则slave机不需要写二进制日志的

log-slave-updates

master-host = 192.168.1.1

master-user = slave #Slave主机访问Master的用户名

master-password = 123456 #Slave主机访问Master的密码

master-port = 3306

replicate-ignore-db = mysql #不同步的数据库

replicate-do-db = db_user #要同步的数据库

replicate-do-db = db_topic

重启Master和Slave

#net stop mysql

#net start mysql

mysql>show master status;#查看my.ini是否配置成功

创建帐号 (Slave访问Master)

mysql>grant replication slave,reload,super,select on *.* to slave@’%’ identified by ‘123456′;

mysql>flush privileges;

备份Master主机的数据库(db_user,db_topic)

#如果表结构都是MyISAM,可以直接copy文件

mysql> flush tables with read lock; #加锁,禁止写操作

mysql> mysqldump -uroot -proot -P3306 –databases db_user db_topic > backdb.sql

将Master的数据导入到Slave

如果所有的数据库表结构都是MyISAM

mysql>load data from master;

否则

mysql -uroot -proot < backdb.sql

停止Slave

mysql>stop slave;

告诉 slave 当前 master 的值

mysql> change master to master_host=’192.168.1.1′,master_user=’slave’,master_password=’123456′,master_port=3306,master_log_file=’mysql-bin.000001′,master_log_pos=98;

mysql> start slave; #开始同步

检测 Slave 状态

mysql> show slave status/G;

#最重要的三个字段为以下值时成功了

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

Seconds_Behind_Master: 0

返回到Master机

mysql> unlock tables; #解锁

至此 Master/Slave 应该配置好了,

你可以试试在Master的db_user添加一条记录,Slave中也可以select到

bitsCN.com

人气教程排行