mysql5.7的安装及配置主从
卸载原有的mysql
1、用rpm -qa | grep -i mysql命令查看mysql的包,
2、用rpm -e -–nodeps +包名删除这些包,接下来用find / -name mysql找出有mysql的目录,全部删去。
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的配置文件如下图:
改成图上这样
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;
记住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;
**
**IO_Running = SQL_Running=YES,Read_Master_Log_Pos=Position=154,Master_Log_File=mysql-bin.000002,**可以得出主从复制配置成功。