mysq主从数据库设置
Posted chongchongstyle
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysq主从数据库设置相关的知识,希望对你有一定的参考价值。
本文承接之前安装虚拟机完成的,没有看过的,可以先看下。
上文链接:https://www.cnblogs.com/chongchongstyle/p/13162331.html
因为项目需要就去研究了一些如何去配置,可能跟一些大佬的不同,希望大佬看到不对的能指点一二,哈哈。那废话不多说啦,直接上步骤。
在配置主从的时候,我用xshell去连接虚拟机,用filezilla对文件进行上传下载。
1.改变管理员为系统默认管理员,命令行:su 输入安装centos 7时设置的密码(我的密码是123), 或者输入命令行:su root在输入密码,成功后如下图
2.因centos 7 ip会在重启后不断变化,需要进行固定ip,先在centos 7图形界面中的文件管理器中找到如下地址文件
此处我的是红色框中文件,然后利用命令行
vi /etc/sysconfig/network-scripts/ifcfg-ens33
出现如下如图所示,点击insert进行编辑将BOOTPROTO=dhcp的值改为static,并在最后面加上(后面解释在添加的时候删除):
DNS1=192.168.184.2 --dns地址
IPADDR=192.168.184.135 --需要设置的ip地址
NETMASK=255.255.255.0 --子网掩码
GATEWAY=192.168.184.2 --网关
这里注意,因为静态ip地址设置为192.168.184.135,因此默认网关和DNS地址前面部分,即192.168.184须相同,不然会出现无法ping通的情况
然后点击esc退出编辑模式,在输入:wq进行保存
3.重启网卡,输入命令行:service network restart
4.用ping命令测试网络DNS是否可用,如下图所示,测试可用按ctrl+c停止,ping baidu.com
5.下载并安装mysql官方yum repository,如下图表示成功
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
6.使用yum下载mysql5.7版本,如下图表示成功
yum -y install mysql57-community-release-el7-10.noarch.rpm
7.
安装mysql服务器,此次下载持续时间比较长,建议使用第一种,速度较快
第一种:yum -y install mysql-community-server
第二种:yum install mysql-server
第一种:直接下载
第二种:第二种需要下图截图处输入y,同意下载
最后显示如图则为成功
8.启动数据库(关闭数据库将start换成stop,养成良好习惯,用完退出,不要直接退出)
第一种:systemctl start mysqld.service
第二种:systemctl start mysqld
9.查看mysql运行状态,运行状态如下图所示
systemctl status mysqld.service
10.登录数据库,因mysql默认对于root账户有一个随机密码,首先先获得随机密码
grep "password" /var/log/mysqld.log
11.进入数据库修改密码,复制上一步得到的密码
mysql -uroot -p
12.输入密码后进入数据库,此时不能做任何事情,因为mysql默认必须修改密码之后才能继续操作数据库,且修改的密码不能过于简单,过于简单会出现下述错误,如何按照密码规范来设置密码可以自行百度,这个地方我们将设置更改,使其能够使用过于简单的密码,易于记忆
ALTER USER ‘root‘@‘localhost‘ IDENTIFIED BY ‘new password‘;
13.修改密码规范,修改原始密码,但是修改的密码必须大于等于4位,下图设置3位报错
set global validate_password_policy=0;
set global validate_password_length=1;
ALTER USER ‘root‘@‘localhost‘ IDENTIFIED BY ‘new password‘;
14.退出数据库操作,卸载之前为安装mysql安装的yum,因为其每次yum操作时会自动更新,如下图所示退出、卸载成功
yum -y remove mysql57-community-release-el7-10.noarch
15.编辑本地数据库连接,以自己当初设置的账户密码为准,在centos 7安装也说到账户密码尽可能简单
16.将mysql更改设置可支持远程连接,并刷新权限,查看可得本地连接成功
use mysql;
update user set host=‘%‘ where user =‘root‘;
flush privileges;
17.配置master主库服务器
输入:vi /etc/my.cnf 点击insert进入编辑模式,添加如下参数,添加完毕后点击esc退出编辑模式,输入命令行:wq保存退出,然后重启mysql服务
server-id=1 (机器的唯一标识)
log-bin=/var/lib/mysql/mysql-bin (开启binlog)
重启 service mysqld restart
18.进入mysql,查看binlog是否开启,输入cd /var/lib/mysql,进入mysql目录下,然后输入命令 ll
看到如下文件代表开启成功
19.创建新用户并授权并刷新权限
登录mysql mysql -uroot -p
创建用户:create user ‘mycat‘ identified by ‘123456‘;
在创建用户时报错,是因为mysql密码策略问题,不符合密码创建标准,利用第13步命令行修改密码策略就可以了
set global validate_password_policy=0;
set global validate_password_length=1;
授权:
GRANT REPLICATION SLAVE ON *.* TO ‘mycat‘@‘192.168.184.136‘ IDENTIFIED BY ‘123456‘;(大小写都可以)
刷新权限:flush privileges;
20.查看主库状态,并关闭防火墙
输入 show master status; 查看状态
systemctl stop firewalld # 关闭防火墙
setenforce 0 # 关闭SELinux
21.配置slave从库服务器,并重启mysql
输入vi /etc/my.cnf 进入配置文件,按insert键进入编辑模式,添加如下参数
server-id=2
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin
( ( server-id机器的唯一标识),后面两步是用来打开slave的relaylog功能的)
添加参数时按照下图红色框中去添加,注意注释掉不要的参数
添加完后,按esc键,输入 :wq 保存退出
重启 service mysqld restart
22.配置主从复制
输入:show slave statusG;查看状态,状态未开始时可能时报错或者是如下图红框所示
接下来根据从主库得到的状态信息,20步可见,输入命令行实现主从连接:
change master to master_host=‘192.168.184.135‘; //主库ip
change master to master_user=‘mycat‘; //创建的用户
change master to master_password=‘123456‘; //创建用户时的密码
change master to master_log_file=‘mysql-bin.000001‘; // filie
change master to master_log_pos=1860; //position
23.开启从服务器,并查看状态,如果出现下图红框中两个Yes代表着我们的主从复制启动成功
输入: start slave;
24.在我们本地的Navicat主服务器中创建数据库dbtest做测试,创建完毕后,在从服务器连接处刷新,从服务器同样也出现了dbtest数据库
以上步骤就是在虚拟机下配置数据库主从复制的步骤了,如果在这阶段出现问题,只要重新查看主库状态,然后再在从库中根据配置重新配置一遍即可。
以上是关于mysq主从数据库设置的主要内容,如果未能解决你的问题,请参考以下文章