mysql数据库级联同步配置
mysql数据库级联同步配置步骤,本文以一台mysql数据库多实例3306、3307和3309为例进行配置,3306为主库,3307为从库,3309为子从库(多台单实例与一台多实例配置是一样的)一.my.cnf文件配置
1.三个数据库实例修改my.cnf配置文件,主库3306和从库3307要打开log-bin,三个server-id不能一样
# egrep"log-bin|server-id" /data/{3306,3307,3309}/my.cnf
/data/3306/my.cnf:log-bin =/data/3306/mysql-bin
/data/3306/my.cnf:server-id = 1
/data/3307/my.cnf:log-bin =/data/3307/mysql-bin
/data/3307/my.cnf:server-id = 3
/data/3307/my.cnf:#log-bin =/data/3309/mysql-bin
/data/3307/my.cnf:server-id = 5
2.从库3307的my.cnf文件的模块里添加一条内容
log-slave-updates
3.重启数据库3306、3307和3309
#/data/3306/mysql stop
#/data/3306/mysql start
# /data/3307/mysqlstop
# /data/3307/mysqlstart
# /data/3309/mysqlstop
# /data/3309/mysqlstart
4.进入主数据库3306,查询log_bin是否打开,server_id是多少,3307进行同样操作
# mysql -uroot-p123456 -S /data/3306/mysql.sock
mysql> show variables like"log_bin";
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin | ON |
+---------------+-------+
1 row in set (0.01 sec)
mysql> show variables like"server_id";
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id | 1 |
+---------------+-------+
1 row in set (0.00 sec)
5.在主库3306上创建一个专门用来同步数据库的用户
mysql> grant replicationslave on *.* to rep@'10.0.0.%'> ###*.*代表所有库和所有表
mysql> flush privileges;
mysql> select user,hostmysql.user;
mysql> show grants forrep@'10.0.0.%';
二.主库3306备份数据,导入从库3307
1.在主库3306上备份数据
# mysqldump-uroot -p123456 -S /data/3306/mysql.sock -A --events -B -x --master-data=1|gzip>/opt/$(date +%F).sql.gz
-A:所有的库 -x:全局锁表
2.将数据导入从库3307
# ls /opt
2017-07-03.sql.gz
# cd /opt
# gzip -d2017-07-03.sql.gz
# ls
2017-07-03.sql
# mysql -uroot-p123456 -S /data/3307/mysql.sock
页:
[1]