centos6 中安装mysql5.7

准备

  1. 下载安装XftpXshell
    官网可以申请学校个人使用的免费版,安装包会马上发到email中。

Xshell:centos在虚拟机中使用不方便,不能粘贴复制等。而在Xshell中可以进行批处理。
Xftp:可以把安装包传到centos中,是和Xshell配套的文件传输工具。

  1. 连接Xftp和Xshell
    点击 新建,名称自取(我取得和虚拟机中系统名相同node01),主机填对应操作系统中的主机号
    可以在虚拟机对应操作系统中(我是centos 名称为node01)查看IPADDR,即主机号:
    1
    2
    cd /etc/sysconfig/network-scripts
    cat ifcfg-eth0
    打开虚拟机对应操作系统node01,再在xshell中点击连接,输入相同的用户名和密码,成功。
    Xftp的连接和Xshell相同。如果想要添加什么文件,在左边双击文件即可添加进对应的操作系统中。

一、更换yum源

安装wget

yum install wget -y 我会nothing to do 的错。所以使用rpm进行安装‘

  1. http://rpm.pbone.net/下载wget的RPM包`wget-1.12-1.4.el6.x86_64`
  2. 利用xftp将下载的rpm包拷贝到centos中
  3. rpm -ivh wget-1.12-1.4.el6.x86_64.rpm 安装即可。

改变某些文件的名称

1
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

执行更换yum源的命令

1
2
wget -O /etc/yum.repos.d/CentOS-Base.repo http://file.kangle.odata.cc/repo/Centos-6.repo
wget -O /etc/yum.repos.d/epel.repo http://file.kangle.odata.cc/repo/epel-6.repo

更新本地缓存

1
2
yum clean all
yum makecache

二、查看系统中是否自带安装mysql

1
yum list installed | grep mysql

在这里插入图片描述

三、给CentOS添加rpm源,并且选择较新的源

1
wget dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm --no-check-certificate

四、安装下载好的rpm文件

1
yum install mysql-community-release-el6-5.noarch.rpm -y

五、使用yum安装mysql

安装成功之后,在/etc/yum.repos.d/文件夹下会多出两个文件:mysql-community.repo和mysql-community-source.repo

1
2
cd /etc/yum.repos.d/
ls

修改mysql-community.repo,把里面5.6的enabled改为0,5.7的改为1。如果不改动的话,默认装的是5.6版本。
然后到根目录(cd)进行安装:

1
yum install mysql-community-server -y

六、启动mysql服务并设置开机启动

正确操作水水水水水水水水水水水水水水水水水水水12哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈年纪u

\噢噢噢噢噢噢噢噢噢噢噢噢噢噢噢噢哦哦哦、】

1
2
3
4
5
yum update -y
#启动mysql服务
service mysqld start
#设置mysql开机启动
chkconfig mysqld on
有问题操作及其解决方法
1
2
# 开启服务
service mysqld start

会报错:【failed】
查看日志:

1
2
3
4
5
cd /var/log
# 可以看到mysql.log
ls
# 查看报错原因
cat mysql.log

2021-02-25T01:44:08.107626Z 0 [ERROR] Could not generate RSA private key required for X509 certificate.
不能生成私有密钥
因为安装5.7后会自动生成临时密码,报这个错意味着某些证书已经过期了。
解决yum update -y
再次重新启动依旧会报错!
原因:当前目录已经生成了一些文件。启动命令实际上做了两步:第一个步是初始化,生成某些系统表。而这里报错其实第一步已经完成了。第二步才是启动服务。
解决:删除第一次错误生成的表

1
2
cd /var/lib/mysql
rm -rf ./*

重新启动,成功!

七、获取mysql的临时密码

1
grep "password" /var/log/mysqld.log

或者到/var/log下,查看mysqld.log,里面可以找到临时密码

使用临时密码登录

1
2
mysql -uroot -p
#输入密码

修改密码

1
2
3
set global validate_password_policy=0;
set global validate_password_length=1;
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

修改远程访问权限

1
2
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
flush privileges;