• 启动 service mysqld start
  • 关闭 service mysqld stop

# 安装 mysql 到自闭

记得我是从昨天晚上 8 点开始装, 装到凌晨 1 点 未果。 今天又重 9 点开始装 然后到下午 3 点,安装成功!
心累 🤔
为了不让历史重演, 我决定重装 linux 服务器, 在把流程走一遍,回顾一下曲折的历史

主要参考文档

  • https://zhuanlan.zhihu.com/p/141778941
  • https://www.linuxidc.com/Linux/2019-08/160316.htm
  • https://www.zhihu.com/question/41832866

# 为什么选择 mysql8.0 以上版本

目前比较常用的应该是 5.X 版本了,但是看官网介绍 8 以上的版本比 5 版本快 2 倍,而且还带来了大量的更新和更快的性能
作为一个极客程序员,你懂得

# 准备

  • linux 服务器(CentOS 7.6 64 - 1 核 2GB 1Mbps) 乞丐版
  • ssh 链接工具 我用的是 secureCRT 用 shell 也可以的
  • 良好的网络 (支持随时重装服务器 😂)

# 开始安装

  • 1 安装 rpm rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm 安装完成示例: 安装rpm完成

  • 2 列出 CentOS 7.6 当前支持的 MySQL 数据库,如下面所示 yum repolist all | grep mysql mysql数据表 从上面可以看出,会默认下载 5.7 版本的 MySQL 数据库,而 8.0 版本的默认是关闭的,先把 5.7 的禁用,启用 MySQL 8.0 数据库

  • 3 打开文件, 修改设置 vi /etc/yum.repos.d/mysql-community.repo

输入命令后显示如下代码,每一个模块代表一个版本数据库。

其中可以看到 5.7 版本, enabled=1, 改为 enabled=0, 禁用掉 另外可以看到 8.0 版本, enabled=0, 改为 enabled=1, 开启 修改成如图所示 mysql数据表

TIP

linux 如何修改文件?

1 vi xxx 打开文件
2 英文状态下 按i进入编辑模式
3 修改你要修改的内容
4 按Esc退出编辑
5 按:wq 退出编辑模式并保存

  • 4 修改完之后查看可以用的 MySQL 版本 yum repolist enabled | grep mysql
mysql-connectors-community/x86_64    MySQL Connectors Community              153
mysql-tools-community/x86_64         MySQL Tools Community                   110
mysql80-community/x86_64             MySQL 8.0 Community Server              177

看到有 MySQL 8.0 版本之后,就可以正式开始安装 MySQL 了

  • 5 开始安装 yum install -y mysql-community-server

    安装成功示例:

    mysql安装成功

  • 6 启动 mysql 并检查 mysql 状态

启动命令 systemctl start mysqld 检查 mysql 状态 systemctl status mysqld mysql安装成功

  • 7 MySQL 安装完成之后会在 LOG 文件( /var/log/mysqld.log)中生成一个默认的临时密码,可根据自己的实际情况修改(冒号后面为旧密码)

vi /var/log/mysqld.log 查看原始密码

mysql密码查看

  • 8 修改原始密码 mysql -u root -p 回车后输入原始密码 当你看到这个界面时说明登录 mysql 成功 mysql进入

    输入 ALTER USER 'root'@'localhost' IDENTIFIED BY '您的密码';

    TIP

    注意:

    • 密码必须 需要同时有大小写字母、数字、特殊符号
    • mysql 的每个语句最后都要带分号;

输入密码后 在输入flush privileges; 保持更新 : 如图 mysql

ok 到这里 我们的数据库已经安装完毕了,接下来我们用 Navicat Premium 去链接我们的数据库

mysql

😰 果然一切并没有那么简单

这是应为默认情况下 root 用户只允许本机访问,即使用 localhost 访问

  • 9 解决权限问题

TIP

  • 命令行链接 mysql mysql -u root -p 回车输入刚才设置的密码
  • 连接到 mysql(数据库名) use mysql;
  • 输入 update user set host = '%' where user = 'root'; 命令
  • 刷新配置 flush privileges;

mysql

这个时候我们再用 Navicat Premium 去链接我们的数据库

mysql 美滋滋 😎

  • 10 用 node 链接数据库

如果报Client does not support authentication protocol requested by server; conside错误,需要我们用命令行输入

mysql -u root -p 回车 输入密码
use mysql
alter user 'root' identified with mysql_native_password by '数据库密码';
flush privileges;

exit;  退出mysql

# 总结

回过头来看,其实步骤也没那么麻烦,第二次安装花费了不到 20 分钟的时间, 那为什么开始安装的时候这么久呢

  • 原因 1 (关于 MariaDB) cemos7 以上的版本自带的有一个数据库 MariaDB 我,网上的很多教程都说在安装 mysql 之前需要把这个卸载, 但实际上不用卸载,卸载后反而会报错

mysql

  • 原因 2 (注意服务器的对应端口 3306 和 22 是否开启)

这个问题比较容易被忽略,一定要注意