mysql5.7的安装及配置主从

卸载原有的mysql

1、用rpm -qa | grep -i mysql命令查看mysql的包,

mysql5.7的安装及配置主从

2、用rpm -e -–nodeps +包名删除这些包,接下来用find / -name mysql找出有mysql的目录,全部删去。

mysql5.7的安装及配置主从

3、最后删去\etc\路径下的my.cnf,即删去数据库的配置文件。

做到这里mysql是被卸载干净了


安装mysql5.7

首先保证机器能用yum下载并安装包,其次有网。可以先用yum下载wget和vim,下载的命令是:
yum install wget
yum install vim
如果已有请忽略。
开始安装mysql5.7:

1、在shell的命令行输入

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

2、接着输入

yum -y install mysql57-community-release-el7-10.noarch.rpm
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0bwBaPcL-1601252771651)(http://md.baby-bus.com/server/…/Public/Uploads/2020-08-10/5f30b072f24c8.png)]

3、最后输入

yum -y install mysql-community-server
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XOf963gV-1601252771653)(http://md.baby-bus.com/server/…/Public/Uploads/2020-08-10/5f30b09a72663.png)]

4、安装到这里之后,可以在命令行输入 systemctl start mysqld.service启动数据库

接下来在命令行输入 systemctlstatus mysqld service观察数据库的启动情况
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y1eHWFr9-1601252771655)(http://md.baby-bus.com/server/…/Public/Uploads/2020-08-10/5f30b17ab6704.png)]
看到running之后就代表成功了


成功启动两台mysql

因为mysql已经成功启动,所以接下来开始配置作为从库的mysql并要将它成功启动。

1、cp /etc/my.cnf /etc/my2.cnf

vim /etc/my.cnf

2、my.cnf的配置文件如下图:

mysql5.7的安装及配置主从

改成图上这样

3、my2.cnf的配置文件如下图:

!(https://img-blog.****img.cn/20200928082745681.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RvcG9mbmV3,size_16,color_FFFFFF,t_70#pic_center)

修改了datadir,socket,server_id 的值,改成图中这样的配置

4、因为datadir是mysql存放数据库的路径,所以需要不一样,basedir是mysql的安装路径,因为我们是一台机器,所以只有一个安装路径。

修改完成后,先初始化数据库2,并启动,命令行输入:
mysqld --initialize --user=mysql --datadir=/var/lib/mysql2 --basedir=/data/mysq soket=/var/lib/mysql2/mysq
socket=/var/lib/mysql2/mysql.sock
mysqld --defaults-extra-file=/etc/my2.cnf --datadir=/var/lib/mysql2 --basedir=/data/mysql --user=mysql &

5、接下来重启主库,可以用 ps aux |grep mysql 看主库的进程号,然后用 kill -9 +进程号结束进程,最后用一样的方法启动。

如何区分ps得来的两个mysql进程:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oryyNONr-1601252771658)(http://md.baby-bus.com/server/…/Public/Uploads/2020-08-10/5f30ba5439123.png)]
有/etc/my2.cn的就是从库mysql,则上面的就是主库mysql
得到如图中这样的结果就代表完成了两台mysql的启动。


#配置主从复制

1、命令行输入 grep “password” /var/log/mysqld.log可以看到这样的两个密码:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vUuLEi3H-1601252771660)(http://md.baby-bus.com/server/…/Public/Uploads/2020-08-10/5f30bcd919e3d.png)]
因为我在上一步已经配置好了两个数据库的配置文件,所以这里不需要再修改配置文件的内容了,接下来进入数据库,可以用
mysql -uroot -h 127…0.0.1 -P3306进入主库,此时提示我们需要输入密码,输入图中的密码即可,因为5.7版本的mysql提高了安全性,此时我们需要修改密码才能进行操作,所以命令行输入:**
alter user user() identified by ‘密码’**
密码必须要大小写字母,还要有特殊字符和数字,可以修改密码为:[email protected],简单的密码会报错。

2、进入主库的数据库后,

create user ‘tigergao’ identified by ‘[email protected]’;
grant replication slave on . to [email protected]‘127.0.0.1’ identified by ‘[email protected]’;
show master status;

mysql5.7的安装及配置主从

记住File 和 Position的值。

3、进入从库,按照前面一步输入密码修改密码,然后输入语句

**stop slave;
change master to master_user=‘tigergao’,master_password=‘[email protected]’,master_log_file=‘mysql-bin.000002’,master_log_pos=15=154,master_host=’127.0.0.1’,master_port=3306;
start slave;
show slave status \G;
**
mysql5.7的安装及配置主从

**IO_Running = SQL_Running=YES,Read_Master_Log_Pos=Position=154,Master_Log_File=mysql-bin.000002,**可以得出主从复制配置成功。