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

mysql replication官方中文文档_MySQL

程序员文章站 2022-06-03 08:01:56
...
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

停止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