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地址

  

 

posted @   红豆奶茶+红豆  阅读(89)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示