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;

show slave statusG;

技术图片

 

 24.在我们本地的Navicat主服务器中创建数据库dbtest做测试,创建完毕后,在从服务器连接处刷新,从服务器同样也出现了dbtest数据库

 技术图片

 以上步骤就是在虚拟机下配置数据库主从复制的步骤了,如果在这阶段出现问题,只要重新查看主库状态,然后再在从库中根据配置重新配置一遍即可。

以上是关于mysq主从数据库设置的主要内容,如果未能解决你的问题,请参考以下文章

MySQ 数据库主从同步安装与配置详解(Master/Slave)

个人笔记上传 -- mysql5主从

MySQL主从复制与读写分离

MySQL主从复制与读写分离

mysql主从

MySQL传统主从配置