Mysql Master/Slave备份

来源:互联网 发布:中国网络诗歌网站 编辑:程序博客网 时间:2024/05/18 03:03
准备工作:
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是基于二进制的日志来做同步的,每个日志文件大小为 1Gserver-id = 1 #主标服务标识号,必需唯一binlog-do-db = db_user #要同步的库名binlog-do-db = db_topicbinlog-ignore-db=mysql,test #不记录日志的库,即不需要同步的库Slave - my.ini在[mysqld]下添加:server-id = 2log-bin = mysql-bin  #如果不做双向同步则slave机不需要写二进制日志的log-slave-updatesmaster-host = 192.168.1.1master-user = slave     #Slave主机访问Master的用户名master-password = 123456 #Slave主机访问Master的密码master-port = 3306replicate-ignore-db = mysql #不同步的数据库replicate-do-db = db_user #要同步的数据库replicate-do-db = db_topic重启Master和Slave#net stop mysql#net start mysqlmysql>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如果所有的数据库表结构都是MyISAMmysql>load data from master;否则mysql -uroot -proot < backdb.sql停止Slavemysql>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: YesSlave_SQL_Running: YesSeconds_Behind_Master: 0返回到Master机mysql> unlock tables; #解锁至此 Master/Slave 应该配置好了,你可以试试在Master的db_user添加一条记录,Slave中也可以select到

原创粉丝点击