mysql8安装教程
1、卸载mysql(重要)
(1)使用 rpm 命令查看已安装的安装包
输入以下命令检查是否安装了mysql软件:
1 | rpm -qa | grep mysql |
如果查到了相关文件,例如
使用 rpm -e 文件名 的命令删除该文件,以上面文件为例,执行以下命令:
rpm -e mysql57-community-release-el7-10.noarch
重复使用 rpm -e 命令删除文件,直到所有文件完全删除
(2)使用yum卸载安装的mysql
yum remove mysql mysql-server mysql-libs mysql-server
(3)搜索mysql文件
全局搜索名称包含 mysql 的所有文件
1 | find / -name '*mysql*' |
删除搜索出来的所有 mysql 文件,如果没有安装过mysql,一般会搜索出来 /var/lib/* 和 /usr/share/* 这两个目录下包含 mysql 文件。删除文件命令:
# 以 /var/lib/mysql 为例
rm -rf /var/lib/mysql
使用 rm -rf 命令删除所有搜索出来的mysql文件。
最后再检查一下:
# 检查1
rpm -qa|grep mysql
# 检查2
find / -name '*mysql*'
2、下载mysql安装文件
Linux平台上推荐使用RPM包来安装mysql。
下载:
Centos8: wget https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm Centos7: wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
安装源:
1 | yum localinstall mysql80-community-release-el7- 1 .noarch.rpm |
先要导入秘钥
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023 执行安装命令之后,启动如果报错的话可能是年份不对,换成2022再试试 rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
yum安装mysql-server:
yum install mysql-community-server 安装很慢的话,会在类似于/var/cache/yum/x86_64/7/mysql80-community/packages路径下生成对应要下载的缓存文件 然后把下载慢的文件自己下载下来,然后放到这个位置下,重新执行命令
赋予权限
chown -R mysql:mysql /var/lib/mysql
安装好之后千万不用着急启动 !
踩坑:之前已经安装好启动了,但是没有设置表名大小写不敏感,就通过修改/ETC/MY.COF 添加LOWER_CASE_TABLE_NAMES=1,结果MYSQL启动报错,只能重装卸载MYSQL或者不修改LOWER_CASE_TABLE_NAMES属性
mysql.8只能在初始化的时候设置 lower_case_table_names=1
打开mysql的配置文件:
1 | vi /etc/my.cnf |
添加
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
lower_case_table_names=1
wait_timeout = 600
interactive_timeout = 600
max_connections=2500
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
MYSQL服务常用操作:
启动可能报错,根据报错信息排查下就可以。一般是权限问题,或者是my.cnf里面配置的路径文件不存在。
1 2 3 4 5 6 7 8 9 10 11 | #启动mysql systemctl start mysqld.service #停止 systemctl stop mysqld.service #重启 systemctl restart mysqld.service #开机自启 systemctl enable mysqld.service |
启动服务:
1 | systemctl start mysqld.service查看初始密码:grep 'password' /var/log/mysqld.log |

没有密码默认不填,直接回车即可
登录mysql
1 | mysql -u root -p |
先修改个密码(必须先修改密码,不然执行任何语句都是报错)密码格式要包含英文数字和下划线 ALTER USER 'root'@'localhost' IDENTIFIED BY '123aA_@as22'; 执行命令flush privileges使权限配置项立即生效。 use mysql;
1 | MySQL 8.0 调整密码验证规则: |
mysql> set global validate_password.policy=0; mysql> set global validate_password.length=1;
mysql> flush privileges
MySQL 8.0 跳转密码加密方式
mysql的版本是8或者以上密码加密规则就会不一样,老的Navcate连接就会失败!
select user,plugin from user where user='root';
可以看到当前用户的加密方式为caching_sha2_password
1 2 3 | 执行命令并且修改新的密码 ALTER USER 'root' @ '%' IDENTIFIED WITH 'mysql_native_password' BY '1234' ;或者ALTER USER 'root' @ 'localhost' IDENTIFIED WITH 'mysql_native_password' BY '1234' ; |
将用户的加密方式改为mysql_native_password。
更改规则后需要注意重新更改密码,不然直接退出你之前设置的密码会登录不上去,需要重置才行
1 | 这里的%号需要根据实际情况去设置select user,host from user where user= 'root' ; |

我的是%,所以是%,一般情况下是localhost
修改密码
ALTER USER 'root'@'%' IDENTIFIED BY '123456';
执行命令flush privileges
使权限配置项立即生效。
安装mysql到此结束
1 2 3 | 使用navicat连接失败,执行下面语句 update user set host= '%' where user= 'root' ; 修改为 '%' 表示任何ip地址都可以链接,也可以修改为某一确定的ip地址 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)