CentOS7安装mysql8,包含所有可能出现的问题
版本号:VMware:12,CentOS:Cent7,mysql:8.0.22 for Linux on x86_64
1.卸载自带mysql及相应的配置文件:
rpm -qa | grep -i mysql
2.删除相应的mysql版本:
yum -y remove mysql-*
注意此处的mysql需要根据上一步显示的信息进行卸载
3.删除出现过的mysql文件夹(建议都删除,如果自己下载tar.gz文件来安装mysql会缺少依赖,这个问题后面说):
find / -name mysql
删除对应文件夹语法:rm -rf 路径,删除时请注意,一旦删除无法恢复
4.删除默认配置文件:
rm -rf /etc/my.cnf
5.删除默认mysql的登录密码:
rm -rf /root/.mysql_sercret
6.删除mariadb:
由于MySQL在CentOS7中收费,所以已经不支持MySQL了,取而代之在CentOS7内部集成了mariadb,而安装MySQL的话会和MariaDB的文件冲突,所以需要先卸载掉MariaDB.
使用rpm 命令查找出要删除的mariadb文件;
rpm -pa | grep mariadb
举个栗子:
显示结果: mariadb-libs-5.5.56-2.el7.x86_64 删除上面的程序 rpm -e mariadb-libs-5.5.56-2.el7.x86_64
删除不掉则强制删除法
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
7.centos的yum 源中默认是没有mysql的,所以我们配置Mysql 8.0安装源
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
8.设置好后进行安装:
sudo yum --enablerepo=mysql80-community install mysql-community-server
一路y+enter安装即可,成功视图:
9.启动mysql服务:
sudo service mysqld start
10.查看mysql临时密码,并登录:
grep "A temporary password" /var/log/mysqld.log
登录:
mysql -uroot -p
输入临时密码(该密码不可见)
11.登录成功后,设置新密码:
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘new password’;
密码需要满足:长度大于8,大小写都有,数字,特殊符号
12.配置远程访问:
use mysql; CREATE USER ‘root’@’%’ IDENTIFIED BY ‘新密码’;#新密码满足条件同上
grant all privileges on *.* to 'root'@'%' ;
13.刷新权限(使刚刚配置远程访问的用户的权限立即生效):
grant all privileges on *.* to 'root'@'%' ;
14.客户端连接错误:
原因是mysql8的加密方式规则不一样,是caching_sha2_password 需要加密方式改成mysql_native_password就行了 语法:ALTER USER ‘[用户名]’@’%’ IDENTIFIED WITH mysql_native_password BY ‘[密码]’; 输入:ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘root’; 加密方式成功改成mysql_native_password
15.如果客户端连接仍然报错,把防火墙关闭或防火墙开启特定端口:
1.命令行界面输入命令“systemctl status firewalld.service”并回车 2.如果active(running)”,说明防火墙已经被打开了 3.输入systemctl stop firewalld.service命令,进行关闭防火墙。 4.输入命令“systemctl disable firewalld.service”命令,即可永久关闭防火墙
开启3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
问题汇总:
1./var/log/mysqld.log 中找不到临时密码
步骤12345,然后重修安装
2.下载tar.gz包,比如:mysql-8.0.13-1.el6.x86_64.rpm-bundle.tar,安装server时:
依赖检测失败:
libsasl2.so.2()(64bit) 被 mysql-community-server-8.0.13-1.el6.x86_64 需要
百度搜一堆全是mysql5.7的信息,都没啥用。实际上是因为安装包与系统不一致。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)