准备工作:
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]下添加:
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到