mysql数据库主从同步(非交互式)
2017-07-04 15:29
337 查看
mysql数据库主从同步非交互式配置步骤,本文以一台mysql数据库多实例3306和3308为例进行配置,3306为主库,3308为从库(多台单实例与一台多实例配置是一样的)
一.my.cnf文件配置
1.修改my.cnf配置文件,主数据库3306要打开log-bin,server-id不能一样
[root@mysql ~]# 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 = 32.重启数据库3306和3308
[root@mysql ~]# /data/3306/mysqlstop[root@mysql ~]#/data/3306/mysql start[root@mysql ~]# /data/3308/mysqlstop [root@mysql ~]# /data/3308/mysqlstart3.进入主数据库3306,查询log_bin是否打开,server_id是多少
[root@mysql ~]# mysql -uroot-p123456 -S /data/3306/mysql.sockmysql> 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.%' identified by '123456';###*.*代表所有库和所有表mysql> flush privileges;mysql> select user,hostmysql.user;mysql> show grants forrep@'10.0.0.%';
二.主库3306备份数据,导入从库3308
1.在主库3306上备份数据
[root@mysql ~]# 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
[root@mysql ~]# ls /opt2017-07-03.sql.gz[root@mysql ~]# cd /opt[root@mysql opt]# gzip -d2017-07-03.sql.gz[root@mysql opt]# ls2017-07-03.sql[root@mysql opt]# mysql -uroot-p123456 -S /data/3308/mysql.sock <2017-07-03.sql 3.从库3308连接主库3306
[root@mysql opt]# mysql -uroot-p123456 -S /data/3308/mysql.sock <<EOFCHANGE MASTER TO MASTER_HOST='10.0.0.20',MASTER_PORT=3306,MASTER_USER='rep',MASTER_PASSWORD='123456';EOF[root@mysql opt]# mysql -uroot-p123456 -S /data/3308/mysql.sock -e "start slave" 四.测试
在主库3306上创建数据库,然后再登陆3308查看是否正常同步,经测试已正常同步^_^
一.my.cnf文件配置
1.修改my.cnf配置文件,主数据库3306要打开log-bin,server-id不能一样
[root@mysql ~]# 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 = 32.重启数据库3306和3308
[root@mysql ~]# /data/3306/mysqlstop[root@mysql ~]#/data/3306/mysql start[root@mysql ~]# /data/3308/mysqlstop [root@mysql ~]# /data/3308/mysqlstart3.进入主数据库3306,查询log_bin是否打开,server_id是多少
[root@mysql ~]# mysql -uroot-p123456 -S /data/3306/mysql.sockmysql> 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.%' identified by '123456';###*.*代表所有库和所有表mysql> flush privileges;mysql> select user,hostmysql.user;mysql> show grants forrep@'10.0.0.%';
二.主库3306备份数据,导入从库3308
1.在主库3306上备份数据
[root@mysql ~]# 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
[root@mysql ~]# ls /opt2017-07-03.sql.gz[root@mysql ~]# cd /opt[root@mysql opt]# gzip -d2017-07-03.sql.gz[root@mysql opt]# ls2017-07-03.sql[root@mysql opt]# mysql -uroot-p123456 -S /data/3308/mysql.sock <2017-07-03.sql 3.从库3308连接主库3306
[root@mysql opt]# mysql -uroot-p123456 -S /data/3308/mysql.sock <<EOFCHANGE MASTER TO MASTER_HOST='10.0.0.20',MASTER_PORT=3306,MASTER_USER='rep',MASTER_PASSWORD='123456';EOF[root@mysql opt]# mysql -uroot-p123456 -S /data/3308/mysql.sock -e "start slave" 四.测试
在主库3306上创建数据库,然后再登陆3308查看是否正常同步,经测试已正常同步^_^
相关文章推荐
- linux下指定mysql数据库服务器主从同步的配置实例
- 分布式系统架构——Mysql数据库实现主从同步
- Ubuntu下配置MySql数据库主从同步
- mysql数据库的主从同步
- Mysql数据库主从同步简单配置
- MysQL数据库的主从同步
- Mysql数据库主从同步
- MySQL数据库多实例主从同步
- MySQL数据库实现主从同步
- linux下指定mysql数据库服务器主从同步的配置实例
- MariaDB、MySQL数据库主从同步
- MySQL数据库 主主、主从同步配置及原理
- linux下指定mysql数据库服务器主从同步的配置实例
- mysql数据库主从同步,可应用于双机热备,数据库的读写分离等
- mysql数据库主从同步
- linux下指定mysql数据库服务器主从同步的配置实例
- 服务器mysql数据库主从同步
- Zabbix检测Mysql数据库的主从同步
- springmvc配置mysql数据库读写分离(基于注解aop)加上(搭建mysql主从同步)
- MySQL数据库主从同步