MySQL主从服务搭建

基础学习:MySQL主从服务搭建

配置一主一从

主:192.168.56.102
从:192.168.56.101

主:配置/etc/my.cnf(这个路径根据自己的环境)

1
2
3
4
5
6
7
8
9
10
[mysqld]
#声明二进制日志文件为mysql-bin.XXXXXX
log-bin=mysql-bin
#二进制格式有三个row/statement/mixed
#row 记录磁盘改变 适合 执行语句长,改变小
#statement 记录执行语句 适合 执行语句短 磁盘改变多
#mixed是系统自己判断来用哪个格式才存储
binlog_format=mixed
#给mysql服务一个独特的id,通常为局域网的ip最后一段值
server-id = 102

从:配置/etc/my.cnf(这个路径根据自己的环境)

1
2
3
4
5
6
[mysqld]
log-bin=mysql-bin
binlog_format=mixed
server-id = 101
#得到主的bin-log分析后成relay-log才能被自己所用
relay-log=mysql-relay

账号设置

主服务器设置账号
从服务器凭借账号去读主服务器的bin-log日志
从服务器上注意:master_log_file和master_log_pos这两个选项
这两个选项应该和show master status;出来的结果一样(因为从哪个文件,哪个位置开始读)

主:

1
2
3
4
5
6
7
mysql> show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000015 | 547 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

主设置账号

1
2
mysql>grant replication client,replication slave on *.* to xp@'192.168.56.%' identified by 'xpisme';
mysql>flush privileges;

从关联到主服务器

1
2
3
4
5
6
mysql>change master to
master_host='192.168.56.102',
master_user='xp',
master_password='xpisme',
master_log_file='mysql-bin.000015',
master_log_pos=547;

从:

1
mysql>start slave;

xpisme wechat
微信号