今天在centos7上安装了mysql8,特此记录以作备忘。
说明:
- 我安装的mysql版本:8.0.35
- centos版本:7
- 我的虚拟机没安装过mysql,如果之前安装过mysql记得卸载干净
- 卸载步骤:
- rpm -qa|grep mysql (搜索mysql)比如返回了: mysql80-community-release-el7-11.noarch
- 则使用 sudo yum remove mysql80-community-release-el7-11.noarch 移除。(如果还有残留请自行谷歌卸载)
- 卸载步骤:
1、下载yum源以及install
Mysql yum地址点这里
首先我们到官网下载 yum源链接,如下:
点击download之后,看到此页面,我们不登录,直接右键复制下载链接,如下:
复制出来的链接如下:
dev.mysql.com/get/mysql80…
之后进入我的虚拟机,使用yum下载安装:
yum localinstall https://repo.mysql.com//mysql80-community-release-el7-11.noarch.rpm
下载过程截图如下(过程中提问是否安装,我直接输入y后回车):
进行install:
yum install mysql-community-server
install过程截图如下:
install最后,看到完毕字眼后,说明安装成功,接下来我们使用 :
systemctl status mysqld
看下状态:(没启动)
2、启动并登录MySql
可以看到并没启动,我们使用 :
systemctl start mysqld
命令来启动mysql服务,如下:
使用:
cat /var/log/mysqld.log
命令看下启动日志,可以启动日志把临时密码也打印出来了,我们记住他一会登录时候用:
使用:
mysql -u root -p
命令进行登录。截图如下(报错了):
3、解决(Can't connect to local MySQL server through socket '/tmp/mysql.sock')
错误详情:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
我们找一下 mysql.sock文件:
find / -name mysql.sock
发现在 /var/lib/mysql/mysql.sock 这里呢,而mysql默认是去 /tmp/mysql.sock找,可不是找不到呢!
怎么办?我们直接软连接到 /tmp/mysql.sock即可,执行如下命令:
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
软连接后我们进行 mysql -u root -p 登录输入刚才的临时密码,发现可以登录成功说明上边的报错被解决掉了。
4、初次登录后修改密码
但是还不能正常使用,我们如果输入个crud语句, mysql会提醒我们需要改密码!如下:
You must reset your password using ALTER USER statement before executing this statement.
ok如果我把我的密码改成123456,则会提示:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
啥意思?我的版本比较新,密码规则必须是 大小写数字和符号的组合。123456这个密码不符合mysql的规则,我这里也懒得改规则去了,直接搞个符合他规则的密码:
我执行:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'xzllaigH95..';
发现,修改密码成功了。
接下来我们验证下:
输入刚修改的密码,发现登录成功。说明mysql一切就绪。如果宿主机使用mysql客户端工具连接的话,记得关闭虚拟机防火墙!