MySQL 主从复制----之基础
1 数据库服务器 一主一备,是很常见的备用模型
利用数据库主备模型的好处是:
slow_query_log = ON
slow_query_log_file = /data/mysql/logs/master_slow.log
mysql> flush privileges;
mysql> flush tables;show master status;
Query OK, 0 rows affected (0.00 sec)
+-------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-------------------+----------+--------------+------------------+-------------------+
| master_bin.000003 | 488 | | | |
+-------------------+----------+-
二、Slave 服务器配置
1 同上初始化
[root@web2 mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
2 修改vim /etc/my.cnf
datadir= /data/mysql
server-id =200
relay_log=relay_log
relay_log_index=relay_log.index
注: 由于Slave 只作为从服务器,不提供读写,所以不需要记录binlog 日志,节省资源
3 启动mysql,连接主服务器
/etc/init.d/mysqld start
mysql> change master to
-> master_host= '192.168.204.5', master_port=3306,master_user='repluser',master_password='replpass',master_log_file='master_bin.000003',master_log_pos=488;
4 让从服务器启动线程复制
mysql> start slave;
5 查看Slave 工作状态
show slave status\G;
6 测试
主服务器上
创建一个库
mysql> create database mydb;
查看从服务器上是否更新
show databases;
和查看show slave status\G; 是否一些参数已经改变
扩展知识点
1 master.info 文件
从服务器把change master 语句所给出的参数保存在其数据目录中的一个名为master.info 的文件里记录初始复制状态,并随着复制工作的进展而刷新这个文件。
2 如何不让从服务器复制主服务的特定库
replication-ignore-db=databesename
3 Master 和 Slave 启动了哪些线程 参与复制