官方安装包下载地址: dev.mysql.com/downloads/
本教程以YUM安装为例。
01 更新YUM源
rpm -Uvh https://repo.mysql.com//mysql80-community-release-el8-9.noarch.rpm
02 安装MySQL
yum install mysql-server
这里需要注意一下,由于rpm不同,可能安装的时候,软件的名称也会有所不同,你可以在输入mysql后按两下键盘的tab键,系统会提示你有哪些包可以安装。
从中我们需要找到正确的安装包。
当系统输出类似上图一样的安装提示,输入y回车后,即可安装成功。
03 查看MySQL版本
04 启动MySQL服务
05 登录MySQL
mysql -uroot -p
该命令会要求你输入密码,直接回车即可,第一次没有密码。
若你安装的版本有密码,可以尝试使用以下命令获取初始密码。
grep 'temporary password' /var/log/mysqld.log
06 修改Root密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678'; # IDENTIFIED BY 后面引号中的内容就是需要设置的密码
flush privileges; # 使更新生效
再次使用05步骤登录MySQL,你会发现必须使用密码登录了。
07 修改默认MySQL端口号
编辑/etc/my.cnf文件,查看是否有[mysqld],如果没有,需要你自己补充。
[mysqld]
port = 12345;
保存配置文件后,重启MySQL。
systemctl restart mysqld
此时你可以在mysql中通过以下命令查询到使用的端口号。
SHOW VARIABLES LIKE 'port';
输出结果:
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port | 12345 |
+---------------+-------+
1 row in set (0.00 sec)
08 确保root没有远程连接的权限
root是MySQL的最高权限用户,即使你为其设置了强度非常高的密码,也不建议允许其通过外网连接到数据库。
处理措施一般是创建一个拥有合适权限的账号,root仅允许本地登录。
删除所有非本地连接:
DELETE FROM mysql.user WHERE User='root' AND Host!='localhost';
flush privileges;
创建一个新的账号,并完成授权:
CREATE USER 'admin'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION; # 授予管理员权限
flush privileges;
允许某一个账号外网访问:
update mysql.user set host='%' where user='admin';
flush privileges;