CentOS7.5实现MySQL主从
部署主从数据库需要两台虚拟机,同网段。
安装教程,本人已经写好,可以看看。(CentOS7.5部署MySQL)
首先,需要修改配置文件(主数据库)
#主数据库
vim /etc/my.cnf
在配置文件中到这个相似的地方,然后修改
#需要进行修改
# Replication Master Server (default)
# binary logging is required for replication
log-bin=master-bin #更改成一样的
log-slave-updates=true #添加一下
# binary logging format - mixed recommended
binlog_format=mixed
# required unique id between 1 and 2^32 - 1
# defaults to 1 if master-host is not set
# but will not function as a master if omitted
server-id = 11 #将单数1变成双位1,就是两个1.
# Replication Slave (comment out master section to use this)
然后使用更加快捷的命令,进入数据库。
#进入数据库
MySQL -u root -p123.com
#因为部署的时候,密码就是123.com,在这写自己设定的密码。
如图所示
给备份用户进行授权,允许通过slave进行登录。
#执行代码如下
grant replication slave on *.* to 'slave'@'192.168.1.%' identified by '123.com';
#注意结尾是分号
然后刷新系统授权表
#刷新系统授权表
flush privleges;
#注意分号
然后登录数据库,查看master状态
#登录数据库,查看master状态
show master status;
#注意分号
记着重启mysql服务
#CentOS6
service mysql restart
#CentOS7
systemctl restart mysql
以上便是主服务器的修改项,接下来就是从服务器。
在从服务器上,对/etc/my.cnf进行修改配置
#修改配置
vim /etc/my.cnf
修改如下
#将server-id =1 更改为22(也就是id不能和主服务器一样)
server-id = 22
#添加
relay-log=relay-log-bin
relay-log-index=slave-relay-bin.index
然后重启服务(mysql)
#CentOS6
service mysql restart
#CentOS7
systemctl restart mysql
然后从数据库进行登录
#不过先记得改密码,改成123.com(这个随意)
MySQL -u root -p123.com
接下来需要让数据库分清楚主从(谁是老大)
如果没有认清楚,那么就是上图的结果。怎么修改呢?写条指令就行了。
#在MySQL中写,命令中的IP地址需要更改为主服务器的IP地址,别一股脑复制粘贴啊!!!
change master to master_host='192.168.1.1',master_user='slave',master_password='123.com',
master_log_file='master-bin.000001',master_log_pos=107;
写对的情况就是上面的样子,然后重新写一遍start slave
#启用用户
start slave
然后就是反馈信息的时候了!!!
#在数据库里面输入(从)
show slave status\G
如果你的回馈和本人箭头指向的这两点一样,那就对了。两个YES!!!
然后quit(退出)
在主服务器的MySQL创建一个名为db_test的库,执行命令如下(需要多个步骤)
#首先需要进入数据库,然后使用命令,进行查看当前数据库存储的库信息
show databases;
#然后创建一个新的库(这一步在主服务器上),去从服务器进行查看。
create database db_test;
在从服务器进行查看
#从服务器登录,然后进行查看(在主服务器上添加的新库)。
MySQL -n root -p 123.com
show databases;
#如果出现就说明主从制作好了