这篇题目占了好长时间了,一直说补上也没补上,今天没事,就弄个实验环境来记录一下。正所谓好记性不如烂笔头,那就写一下。
环境
1
2
3
|
[root@localhost ~]# cat /etc/redhat-release
CentOS release 6.7 (Final)
#其中62做master,63做salve, 66为VIP
|
- mysql版本
mysql版本说明:mysqlAB复制版本都要高于3.2,slave版本可以高于master但不可以低于master
1
2
|
[root@localhost ~]# mysql -V
mysql Ver 14.14 Distrib 5.6.32, for Linux (x86_64) using EditLine wrapper
|
Master配置
1
2
|
/etc/init.d/mysql start
mysqladmin -uroot -parvon.top
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#vim /etc/my.cfg
[mysqld]
server-id = 1
#backup这台设置2,
log-bin = arvon-mysql-bin
#binlog文件名称
binlog-ignore-db = mysql,information_schema
#忽略写入binlog日志的库
auto-increment-increment = 2
#字段变化增量值
auto-increment-offset = 1
#初始字段ID为1
slave-skip-errors = all
#忽略所有复制产生的错误
|
1
2
3
|
mysql> grant replication slave on *.* to 'slave'@'172.17.18.63' identified by 'blog.arvon.top';
mysql> flush privileges;
#给slave用户读取master的权限密码为blog.arvon.top
|
Slave配置
1
|
mysql -h172.17.18.62 -uslave -pblog.arvon.top
|
- 配置文件
先修改my.cnf文件,主要写入server-id,没有把后面server的主机端口密码信息直接写入配置文件是因为mysql5.5之后直接写会报错,mysql不认识,需要直接在mysql中用后面的命令指出。
mysql中要指出的变量,后面MASTER_LOG_FILE和MASTER_LOG_POS就是上面server配置端binglog和post的值
1
2
3
4
5
6
7
8
|
mysql> CHANGE MASTER TO MASTER_HOST='172.17.18.62',
-> MASTER_PORT=3306,
-> MASTER_USER='slave',
-> MASTER_PASSWORD='blog.arvon.top',
-> MASTER_LOG_FILE='arvon-mysql-bin.000001',
-> MASTER_LOG_POS=120;
#启动slave进程
mysql> slave start;
|
- 查看slave状态
共有两个线程一个为IO线程,一个为SQL进程,如图都为yes说明成功
1
|
mysql> show slave status\G;
|
- 测试一下
在master创建一个database,然后去slave查看一下是否有了,我这反正测试时成功的,哈哈。