Linux(CentOS)下安装 MySQL5.7 或 8.0

本贴最后更新于 2134 天前,其中的信息可能已经时移世改

1.卸载掉原有 MySQL 或 MariaDB

// 这个命令就会查看该操作系统上是否已经安装了mysql数据库

# rpm -qa|grep mysql

// 普通删除模式

# rpm -e mysql

// 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除

# rpm -e --nodeps mysql

注:现在的Linux,如CentOS7会自带一些MySQL的分支,如MariaDB,所以可能还是要卸载掉MariaDB,卸载过程如下。第二条语句是强制卸载,连带有依赖关系的软件都一起删掉。

# rpm -qa|grep mariadb

# rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps

2.下载 MySQL

去官网 http://dev.mysql.com/downloads/ 下载社区版

MySQL :: Download MySQL Community Server

3.安装 MySQL

因为有依赖关系,所以安装顺序有讲究,安装顺序如下所示

# rpm -ivh mysql-community-common-5.7.16-1.el7.x86_64.rpm

# rpm -ivh mysql-community-libs-5.7.16-1.el7.x86_64.rpm

# rpm -ivh mysql-community-client-5.7.16-1.el7.x86_64.rpm

# rpm -ivh mysql-community-server-5.7.16-1.el7.x86_64.rpm

在安装 8.0 版本的过程中可能会报如下错误:

解决方案:

# yum install libaio

4.查看 MySQL 版本(可略过)

# rpm -qi mysql-community-server

会显示出非常详细的信息

4.5.初始化 MySQL(5.7 不可用)

### # mysqld --initialize

该命令会在/var/log/mysqld.log 生成随机密码

5.启动 MySQL

# service mysqld start

上面这句话的含义等同于:

Redirecting to /bin/systemctl start mysqld.service

第一次启动 MySQL 的时候,我们没有设置过密码,所以 MySQL 默认会有临时密码,这时我们需要得到这个密码才能登入,方法如下:

# grep 'temporary password' /var/log/mysqld.log

5.5.直接修改密码

# mysql_secure_installation

接下来只需要根据提示一步步修改密码即可。

6.登入 MySQL

在我们知道 MySQL 密码的情况下,我们就可以登入 MySQL 了

# mysql -uroot -p

然后系统会让你输入密码。

这个时候虽然我们已经登入了 MySQL,但是想要执行指令还是不行,因为 MySQL 会让修改密码,而且会报如下错误:

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

7.修改密码

mysql> alter user 'root'@'localhost' identified by 'Admin123!@#';

mysql> flush privileges;

这里要注意的是修改的密码要足够复杂,不然会报如下错误:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

8.修改密码其他方法

1.来自官网

mysql> ALTER USER 'jeffrey'@'localhost' PASSWORD EXPIRE;

mysql> SET PASSWORD = PASSWORD('new_password');

100.其他

清除 MySQL 数据: rm -rf /var/lib/mysql/*

  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    691 引用 • 535 回帖
  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    944 引用 • 943 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...