linux上安装Mysql8

今天在linux上又装了一遍MySQL,过程比较恼火,踩了坑,特此记录一遍今后安装顺利一些。

准备好安装包

这里已rpm的方式安装,需要准备的安装包如下:
在这里插入图片描述
下载地址:
https://dev.mysql.com/downloads/mysql/8.0.html
在这里插入图片描述
下载后将3个安装包上传到服务器对应的目录,我这里是 mysql8,如上上图所示。

准备环境

因为有些linux系统会自带mariadb以及mysql,这些需要先删除掉。

  • 检查是否安装了mariadb, 使用如下命令:
    在这里插入图片描述
  • 删除mariadb

在这里插入图片描述

mysql操作同mariadb

开始安装

使用rpm命令
  • 安装server 包
    在这里插入图片描述
  • 安装缺少的依赖包

在这里插入图片描述
在这里插入图片描述
上面两个是之前下载好的,已经安装完毕,还差3个依赖包,直接使用如下命令安装:
在这里插入图片描述

  • 再次安装server 包
    在这里插入图片描述

安装完毕。

验证安装

  • 使用命令service mysqld status查看mysql的状态
    在这里插入图片描述

说明安装成功,只是还没有启动服务

  • 启动服务 service mysqld start, 停止服务service mysqld stop
    在这里插入图片描述
  • 进入mysql
    在这里插入图片描述
    发现个问题:至今还不知道密码, 有网友说是默认密码是空的,可直接进入。显然,由上图可知是不行。

更改密码

  • 停止mysql服务service mysqld stop

  • 编辑文件vi /etc/my.cnf 添加skip-grant-tables

在这里插入图片描述

  • 启动mysql service mysqld start
    在这里插入图片描述
  • 现在就可以直接进入mysql了
    在这里插入图片描述
  • 更新user表的root用户的密码为空串’’,mysql8中的密码字段已经不是password了!
    在这里插入图片描述
  • 现在将之前的配置文件改回初始的状态(去掉skip-grant-tables),也同样可以不用密码就能直接进入数据库了。并且,必须去掉skip-grant-tables,然后重启mysql,后面的真正修改密码的命令alert user。。。。才能正确执行。
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
执行修改密码命令alter user 'root'@'%' identified by 'newpass'; 然后执行flush privileges。 其中’root’@’%‘也可能是’root’@‘localhost’, 根据实际情况而定

在这里插入图片描述
其中,“newpass”为自己新设置的密码,必须包含大小写字母以及特殊字符和数字。

注:命令中的 'root'@'%' 也可能是'root'@'localhost',具体根据实际情况而定,如下图中的host是什么就写什么:
在这里插入图片描述

  • 验证新密码

在这里插入图片描述

Navicat 无法连接mysql

如果 root对应的host是localhost,就会出现Navicat无法连接的情况,只需将localhost该为 百分符号 % 即可,
在这里插入图片描述
可使用update语句修改:update user set host='%' where user='root';
在这里插入图片描述
不要忘记执行:

flush privileges;

猜你喜欢

转载自blog.csdn.net/qq_29025955/article/details/120744743