mysql数据库主从同步(非交互式)
mysql数据库主从同步非交互式配置步骤,本文以一台mysql数据库多实例3306和3308为例进行配置,3306为主库,3308为从库(多台单实例与一台多实例配置是一样的)一.my.cnf文件配置
1.修改my.cnf配置文件,主数据库3306要打开log-bin,server-id不能一样
# egrep"log-bin|server-id" /data/{3306,3308}/my.cnf
/data/3306/my.cnf:log-bin =/data/3306/mysql-bin
/data/3306/my.cnf:server-id = 1
/data/3308/my.cnf:#log-bin =/data/3308/mysql-bin
/data/3308/my.cnf:server-id = 3
2.重启数据库3306和3308
# /data/3306/mysqlstop
#/data/3306/mysql start
# /data/3308/mysqlstop
# /data/3308/mysqlstart
3.进入主数据库3306,查询log_bin是否打开,server_id是多少
# 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)
4.创建一个专门用来同步数据库的用户
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备份数据,导入从库3308
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.将数据导入从库3308
# 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/3308/mysql.sock
页:
[1]