一. 环境需要
服务器:
主库服务器: mysql-server-00
从库服务器: mysql-server-01
二. 数据库安装
请移步: https://www.jianshu.com/p/3d7ef958cac7
三. 开始配置主库备份
一、主库配置:
1、编辑配置文件:
$ vim /etc/my.cnf
# 设置主服务器的id(不能和别的服务器重)
server-id = 1
# 可以配置的值:0/1/2; 0、效率最高,最不安全;1、最安全,但是效率最低;2、安全和效率平衡的取舍,在服务器系统挂掉的情况下会丢失数据;
innodb_flush_log_at_trx_commit = 1
# 值可设置 1、500、1000;可自己根据测试性能配置
sync_binlog = 1
# binlog日志文件名
log-bin = mysql-bin
# 表示不同步mysql库
binlog-ignore-db = mysql
# 表示不同步information_schema库
binlog-ignore-db = information_schema
binlog-ignore-db = performance_schema
binlog-ignore-db = sys
# 这个表示只同步某个库 (如果没有此项,表示同步所有的库)
binlog-do-db = xxxx
2、创建用于主从同步的账户:
# 登录MySQL
$ mysql -u root -p
# 创建用户和密码
mysql> create user 'copy'@'%' identified by '123456';
# 赋予FILE权限,允许从从库ip访问
mysql> grant FILe on *.* to 'copy'@'mysql-server-01' identified by '123456';主库
# 赋予主从同步权限
mysql> grant replication slave on *.* to 'copy'@'192.168.172.111' identified by '123456';
mysql> flush privileges;
3、重启MySQL,使my.cnf 配置生效;查看主库状态:
$ service mysql restart
$ mysql -u root -p
$ mysql> show master status;
#查看主库的状态 file, position 这两个值后续要用
+--------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+--------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000002 | 154 | xxxx | | |
+--------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
二、从库配置:
1、编辑配置文件:
$ vim /etc/my.cnf
server-id = 2
# 配置不需要复制的库mysql
replicate-ignore-db = mysql
replicate-ignore-db = information_schema
replicate-ignore-db = performance_schema
replicate-ignore-db = sys
# 标记出需要同步的数据库名,在多从配置时可以按需配置
replicate_do_db = tmall
# 可以配置的值:0/1/2; 0、效率最高,最不安全;1、最安全,但是效率最低;2、安全和效率平衡的取舍,在服务器系统挂掉的情况下会丢失数据;
innodb_flush_log_at_trx_commit = 1
# 每进行n次事务提交之后,MySQL将binlog_cache中的数据强制写入磁盘。
sync_binlog = 1000
# 根据实际情况决定开启多少个线程用于主从复制
slave_parallel_workers = 4
# 基于组提交的并行复制方式
slave_parallel_type = logical_clock
master_info_repository = TABLE
relay_log_info_repository = TABLE
relay_log_recovery = ON
2、配置完成后,重启从库的MySQL:
$ service mysql restart
# 登录mysql
$ mysql -u root -p
# 关闭从库
mysql> stop slave;
# 配置主库信息 这里就用到主库 show master status 那里的两个字段
mysql> change master to master_host='mysql-server-00', master_user='copy' ,master_password='123456', master_log_file='mysql-bin.000002' ,master_log_pos=154;
# 开启从库
mysql> start slave;
# Slave_IO_Running, Slave_SQL_Running 都为Yes的时候表示配置成功
mysql> show slave status \G;
3、验证主从:
操作主库, 建库, 建表, 插入数据, 检查从库是否同步, over, perfect ~~
网友评论