您的位置:首页 > 数据库 > MySQL

mysql主从同步配置步骤

2015-06-18 18:01 801 查看


1. 启用 主库的 log_bin 日志,设置日志格式 binlog_format=MIXED,或者 binlog_format=ROW,

启用主库的 server-id

#主库上加

#只记录 ka_app 库的同步日志

binlog_do_db=ka_app

#不记录下列库的同步日志

binlog_ignore_db=mysql

binlog_ignore_db=performance_schema

binlog_ignore_db=information_schema

binlog_ignore_db=ka_tdf

binlog_ignore_db=ka_model

binlog_ignore_db=test

重启主库,/etc/init.d/mysql restart

2. 关闭备份机器的的二进制 log_bin,注释,设置 server-id,设置从库的只读属性 read_only=ON,

开启从服务器中继日志 relay-log=mysql-relay,开启从服务器中继索引 relay-log-index=mysql-relay.index    

#从库上加

#只同步 ka_app 的所有表日志

replicate_wild_do_table=ka_app.%

#不同步下面库的所有表日志

replicate-wild-ignore-table=mysql.%

replicate-wild-ignore-table=performance_schema.%

replicate-wild-ignore-table=information_schema.%

replicate-wild-ignore-table=ka_tdf.%

replicate-wild-ignore-table=ka_model.%

replicate-wild-ignore-table=test.%

重启从库 /etc/init.d/mysql restart

3. 主库上创建复制账户(根据自己需要创建)

mysql>grant replication slave on *.* to
'repl'@'169.254.10.11' identified by 'repl';

mysql>flush privileges;

4. 导入导出数据

主库锁定导出

mysql>flush tables with read lock;

mysqldump -uroot -pmysql --host=169.254.10.12 --flush-logs --databases stock-app --master-data=1 > backup-source.sql

从库还原

mysql -uroot -p123456 < backup-source.sql

5. 启用同步

主库查看当前日志位置

mysql>show master status;

+------------------+----------+--------------+------------------+

| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+------------------+----------+--------------+------------------+

| mysql-bin.000004 |      360 |              |                  |

+------------------+----------+--------------+------------------+

从库指定从指定位置开始同步

mysql>change master to master_host='169.254.10.12',master_port=3306,master_user='repl',master_password='repl',master_log_file='mysql-bin.000004',master_log_pos=360;

mysql>start slave;

6. 主库解除锁定 

mysql>unlock tables;

7. 查看主从同步的状态

主库

mysql>show master status;

从库

mysql>show slave status;

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql 数据 备份