Mysql主从配置

来源:互联网 发布:总管家软件 编辑:程序博客网 时间:2024/05/17 08:29

Master配置(ip:192.168.1.1):

  • 修改master配置文件并重启服务:
[mysqld]server_id=1binlog-do-db=m_test#binlog-ignore-db=test #replicate-ignore-db=test log-bin=mysql-binbinlog_cache_size = 1Mbinlog_format=mixedexpire_logs_days=7
  • 重启
service mysqld restart
  • 在master上建立用于复制的用户
 mysql>grant replication slave, replication client on *.* to 'repl'@'192.168.1.2' identified by 'pwd';
  • 备份master数据:先锁表,保证数据一致性
mysql> FLUSH TABLES WITH READ LOCK;mysql> SHOW MASTER STATUS;+—————–+————+—————-+——————–+|File             | Position   |  Binlog_Do_DB  |  Binlog_Ignore_DB  |  +—————–+————+—————-+——————–+|mysql-bin.000015 |       1273  |                |                    |+—————–+————+—————-+——————–+记录文件名和pos号开始备份数据库#mysqldump -uroot -p mydb > /tmp/mydb.sql备份完毕,现在可以解锁数据库表MySQL> UNLOCK TABLES;

Slave配置(ip:192.168.1.2)

  • 修改slave配置文件并重启服务:
[mysqld]server_id=2replicate-do-db=m_test#binlog-ignore-db=test #不记录binlog#replicate-ignore-db=test #不复制test库的binlog#log-bin=mysql-bin#binlog_cache_size = 1M#binlog_format=mixed#expire_logs_days=3
  • 导入备份数据到slave
#mysql -uroot -p -B mydb </tmp/mydb.sql
  • 在slave上同步binlog
mysql>change master to master_host ='192.168.1.1',master_port=3306,master_user='repl',master_password='pwd',master_log_file='mysql-bin.000001',master_log_pos=154;  (注:具体值根据备份master时,SHOW MASTER STATUS的值设定)
  • slave上开启复制或(stop slave)
mysql> start slave; 
  • 查看slave状态
mysql> show slave status\G;

注意:

1.指定binlog-do-db为具体数据库时,不支持跨库操作,可考虑replicate_wild_do_table
2.先创建从库

0 0
原创粉丝点击