一、安装 Mysql 官方的 YUM 仓库

该页面下方找到合适的系统版本对应的下载地址,点进去,复制最下面的 No thanks, just start my download. 的链接地址。

使用下面命令安装(以 CentOS 7 的地址为例):

$ sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm

查看当前 YUM 库的开启情况:

$ yum repolist all | grep mysql

可以看到 Mysql 8.0 的仓库默认开启,如果想要安装 Mysql 5.6 就要关闭 8.0 的仓库,开启 5.6 的仓库。可以通过 yum-config-manager 命名来禁用或启用指定的仓库,如果该命令不存在,需要先安装 yum-utils

$ # 安装 yum-config-manager 工具
$ sudo yum install yum-utils
$ # 安装
$ sudo yum-config-manager --disable mysql80-community
$ sudo yum-config-manager --enable mysql56-community
$ # 检查是否成功
$ yum repolist enabled | grep mysql

还可以通过仓库配置文件直接设置:/etc/yum.repos.d/mysql-community.repo

二、安装 Mysql

运行命令:

$ sudo yum install mysql-community-server
$ # 升级
$ sudo yum update mysql-server

三、启动 Mysql

$ # 启动 Mysql
$ sudo systemctl start mysqld.service
$ # 查看 Mysql 的运行状态
$ sudo systemctl status mysqld.service
$ # 设置开机自启动
$ sudo systemctl enable mysqld.service

四、初始设置

  • Mysql 5.6

    运行下面的命令:

    $ mysql_secure_installation
    

    这会提示你:

    • 输入 root 密码,如果是刚安装,则密码为空,直接按回车即可。
    • 是否设置 root 密码:Y
    • 设置 root 密码,特殊字符可能会造成登录失败,字母加数字即可。
    • 是否删除匿名用户:Y
    • 是否禁止 root 远程登录:Y
    • 是否移除 test 数据库及对它的访问权限:Y
    • 是否重新加载权限,以使上面的的设置立即生效:Y
  • Mysql 5.7 及更高

    第一次启动 Mysql 服务时会自动初始化。

    从错误日志中获取自动生成的临时 root 密码:

    $ sudo grep 'temporary password' /var/log/mysqld.log
    

    使用临时 root 密码登录 Mysql:

    $ mysql -uroot -p
    

    修改 root 密码,特殊字符可能会造成登录失败,字母加数字即可:

    ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
    

五、创建数据库及用户

# 创建名为 foo 的数据库并指定字符集为 utf84
CREATE DATABASE IF NOT EXISTS `foo` COLLATE 'utf8mb4_general_ci';
# 创建用户 homestead,拥有对数据库 foo 的所有操作权限,只允许在本地登录,并设置密码
GRANT ALL ON `foo`.* TO 'homestead'@'localhost' identified by '密码';
# 如果要让用户在任何 IP 都可以登录,将 localhost 修改为 %

# 下面这个命令是使修改的用户权限立即生效
FLUSH PRIVILEGES;

六、参考文章

A Quick Guide to Using the MySQL Yum Repository

(完)