mysql8安装教程
1、卸载mysql(重要)
(1)使用 rpm 命令查看已安装的安装包
输入以下命令检查是否安装了mysql软件:
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 的所有文件
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
安装源:
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的配置文件:
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里面配置的路径文件不存在。
#启动mysql systemctl start mysqld.service #停止 systemctl stop mysqld.service #重启 systemctl restart mysqld.service #开机自启 systemctl enable mysqld.service
启动服务:
systemctl start mysqld.service
查看初始密码:
grep 'password' /var/log/mysqld.log
没有密码默认不填,直接回车即可
登录mysql
mysql -u root -p
先修改个密码(必须先修改密码,不然执行任何语句都是报错)密码格式要包含英文数字和下划线 ALTER USER 'root'@'localhost' IDENTIFIED BY '123aA_@as22'; 执行命令flush privileges使权限配置项立即生效。 use mysql;
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
执行命令并且修改新的密码 ALTER USER 'root'@'%' IDENTIFIED WITH 'mysql_native_password' BY '1234';
或者
ALTER USER 'root'@'localhost' IDENTIFIED WITH 'mysql_native_password' BY '1234';
将用户的加密方式改为mysql_native_password。
更改规则后需要注意重新更改密码,不然直接退出你之前设置的密码会登录不上去,需要重置才行
这里的%号需要根据实际情况去设置
select user,host from user where user='root';
我的是%,所以是%,一般情况下是localhost
修改密码
ALTER USER 'root'@'%' IDENTIFIED BY '123456';
执行命令flush privileges使权限配置项立即生效。
安装mysql到此结束
使用navicat连接失败,执行下面语句 update user set host='%' where user='root'; 修改为'%'表示任何ip地址都可以链接,也可以修改为某一确定的ip地址

浙公网安备 33010602011771号