搭建环境
vmware 虚拟机 操作系统版本 CentOS Linux release 7.5.1804 (Core)
数据库版本 mysql 5.7.17 (tar包链接 -----官方链接 我是使用xshell直接上传的tar包进行安装mysql数据库,随各位挑选。 )
master 主机数据库之前在用 ,slave是新主机添加
练习环境注意事项:
1)数据库安装,使用tar包里rpm安装方法
在安装数据库时会报错,需要对MariaDB进行删除,MariaDB删除方法
2)vmware 虚拟机 进行克隆。
如机器克隆切记更改克隆机网卡配置文件UUID,及/var/lib/mysql/auto.cnf里的UUID,否者会导致IO报错。(更改方法https://blog.csdn.net/pratise/article/details/80413198)
数据库安装完成可以开始搭建啦
为了以防万一,我们先检查下数据库存活(主从都要) ss -ntulp | grep mysqld
之后我们来到主服务器并进入my.cnf配置文件,在[mysqld]下,添加server_id开启binlog日志
server_id (是唯一的,建议按ip位来起 如192.168.1.16 那么server_id=16)
binlog日志(里面记录的是非查询外的所有操作,如增删改等,且谁是主就在谁的配置文件输入)
vim /etc/my.cnf
保存后,重启配置文件。(任何服务配置文件不管有多大多小更改,都需要重启生效)
systemctl restart mysqld
我们登录主数据库进行授权
mysql -uroot -p123qqq...A
mysql> grant replication slave on *.* to myslave@"%" identified by "123qqq...A";
replication 复制权限 myslave 我起的名字 % 表示匹配除当前主机外的所有主机,有特定的输入从服务器ip即可 123qqq...A 我设置的密码
show master status; 记录日志名(master10.。。。0003)和偏移量(440)
我们登录从服务器
mysql -u刚刚起的名 -p起的密码 -P3306(数据库端口号) -h 主机ip 进行验证(防止i/p报错,网络不通),可以登录就行,之后退出。
进入配置文件,更改server_id.并重启mysqld服务
mysql -uroot -p123qqq...A 登录从服务器数据库 准备同步sql语句。
我为了模拟生产环境,主机是有些数据,这时候我们可以和客户确认,以前数据是否同步过去。
如果需要我们就是要mysqldump进行完全备份到从里,保证一致性在开始同步。
如不需要,我们可以登录主数据库 flush logs; (重新创建一个binlog文件)根据这个新生成的日志名和偏移量来做同步数据操作。我这里用的这种。
开始同步sql语句,第一次,我建议复制下面的在文本里更改完后进行复制到从服务器操作,因为80%的i/o报错就因为这里,它 “”内你输错是没有报错的,所以你要认真核对在进行操作。下面的语句都是英文的哦,切记自己敲的时候区分中英文。
change master to
master_host="主服务器Ip地址",
master_user="主服务器添加用户名" ,
master_password="用户密码",
master_log_file="主服务器binlog日志名" ,
master_log_pos=偏移量;
然后我们启动slave。 start slave; 并查看slave状态,show slave status \G; (为什么是大G,你自己试试不带这个带;)
到这,我们就配置成功了,如果你失败了,那么看这
新人第一次分享,还请多多点赞支持。