mysql主从复制部署
2015-12-05 18:07
579 查看
主从复制的用途:
实时灾备,用于故障切换
读写分离,提供查询服务
备份,避免影响业务
主从复制部署
必要条件
主库开启binlog日志(设置log-bin参数)
主从server-id不同
从库服务器连通主库
步骤
备份还原(mysqldump或xtrabackup)
授权(grant replication slave on .)
配置复制,并启动(change master to )
查看主从复制信息(show slave status\G)
实验环境:
节点1:(主节点)
hostname:miles21 ip :192.168.137.21
节点2:(从节点)
hostname:miles22 ip :192.168.137.22
备份miles21上的数据
[root@miles21 ~]# mysqldump -uroot -pbeijing --socket=/data/mysql.sock --single-transaction -A --master-data=1 > /home/mysql/backup/all_db.sql 查看备份文件 [root@miles backup]# more all_db.sql ... CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000013', MASTER_LOG_POS=528; ...
还原miles21上的数据
[root@miles21 mysql]# mysql -uroot -pbeijing -hmiles22 -P3307 mysql> source /home/mysql/backup/all_db.sql; mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | db1 | | mysql | | performance_schema | +--------------------+ 4 rows in set (0.00 sec)
授权:在miles21上授权一个具有复制权限的用户
[root@miles backup]# mysql -uroot -p --socket=/data/mysql.sock mysql> grant replication slave on *.* to repl@'192.168.137.22' identified by 'beijing'; Query OK, 0 rows affected (0.01 sec)
配置复制:在miles22上
[root@miles22 ~]# mysql -uroot -p --socket=/data/mysql.sock mysql> ? change master to ... CHANGE MASTER TO MASTER_HOST='master2.mycompany.com', MASTER_USER='replication', MASTER_PASSWORD='bigs3cret', MASTER_PORT=3306, MASTER_LOG_FILE='master2-bin.001', MASTER_LOG_POS=4, MASTER_CONNECT_RETRY=10; ... #这里的MASTER_LOG_FILE、MASTER_LOG_POS为备份文件中的信息(上文中可看到) mysql> CHANGE MASTER TO MASTER_HOST='192.168.137.21',MASTER_USER='repl',MASTER_PASSWORD='beijing',MASTER_PORT=3333,MASTER_LOG_FILE='mysql-bin.000013',MASTER_LOG_POS=528; Query OK, 0 rows affected, 2 warnings (0.02 sec) #启动复制 mysql> start slave; Query OK, 0 rows affected (0.01 sec) #查看主从复制信息 mysql> show slave status\G ... #表示主从复制OK Slave_IO_Running: Yes Slave_SQL_Running: Yes ...
检验主从复制
在miles21上进行操作
mysql> show tables; +---------------+ | Tables_in_db1 | +---------------+ | test | +---------------+ 1 row in set (0.00 sec) mysql> select * from test; +------+------+ | id | name | +------+------+ | 1 | m1 | | 2 | m2 | +------+------+ 2 rows in set (0.00 sec) mysql> insert into test values (3,'m3'),(4,'m4'); Query OK, 2 rows affected (0.00 sec) Records: 2 Duplicates: 0 Warnings: 0 mysql> commit; Query OK, 0 rows affected (0.00 sec) mysql> create database db2; Query OK, 1 row affected (0.00 sec)
在miles22上查看
mysql> select * from test; +------+------+ | id | name | +------+------+ | 1 | m1 | | 2 | m2 | | 3 | m3 | | 4 | m4 | +------+------+ 4 rows in set (0.00 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | db1 | | db2 | | mysql | | performance_schema | +--------------------+ 5 rows in set (0.00 sec)
在miles21上
mysql> drop database db2; Query OK, 0 rows affected (0.00 sec)
在miles22上查看
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | db1 | | mysql | | performance_schema | +--------------------+ 4 rows in set (0.00 sec)
相关文章推荐
- JDBC连接MYSQL数据库示例
- MYSQL中常用操作的总结
- mysql 主从配置
- MySQL_join开发技巧
- MySQL约束
- MySQL重要但容易被忽略_MySQL自定义函数&存储过程
- Mysql创建、删除用户
- C# MySqlHelper
- Mysql 记录
- mysql之sql优化
- MySQL索引和查询优化
- MySQL 5.6 for Windows 解压缩版配置安装
- Solr导入MySql中的数据
- MySql中存储过程的用法
- 重定向和MySql插入中文
- MySQL编码设置方法 MySQL编码为utf8设置方法
- mysql集群
- Mysql 5.7.9 安装错误小记
- 分页之原始链接+servlet跳转+MySQL
- 每次开机后MySQL服务都不见了需要重新开mysqld-debug的解决办法