安装mysql
注意(2026 更新): 本文是 2017 年针对 CentOS 7 + MySQL 5.7 的历史教程,两者均已 EOL(MySQL 5.7 于 2023-10 停止支持,CentOS 7 于 2024-06 停止维护),仅作参考。新服务器请改用 MySQL 8.4 LTS:仓库初始化包为
mysql84-community-release-el9-4.noarch.rpm(RHEL/CentOS 9 及以上请到 https://dev.mysql.com/downloads/repo/yum/ 选择对应平台),并按 8.x 的认证与密码重置方式操作(见下文)。
下载mysql的repo源
| |
提示:
dev.mysql.com/get/仍会 302 跳转到repo.mysql.com,旧包文件还能获取,但它只适配 EOL 的 el7 + MySQL 5.7。当前 LTS 是 MySQL 8.4,仓库初始化包为mysql84-community-release-{el7|el8|el9}-*.noarch.rpm,请按系统选择。
安装mysql的rpm包
| |
安装mysql
| |
重置mysql密码
| |
登录时有可能报这样的错:ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ 原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:
| |
重启mysql服务
| |
接下来是登录mysql(有两种情况)
直接登录成功
| |
注意:
PASSWORD()函数与mysql_native_password认证插件已在 MySQL 8.0+ 移除(改为caching_sha2_password),上述 5.7 写法仅适用于本教程版本。8.x 请用ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';重置密码。
登录失败
登录失败:是因为密码错误,不是默认的空密码, 而是在安装时,mysql默认分配了随机密码 如果你的安装信息是详细显示的,那么你是可以在之前的安装信息中,找到随机密码 找不到,那就继续如下操作:
1.修改MySQL的登录设置:
| |
2.重新启动mysql,并登录(mysql5.7,password字段不存在了,而是authentication_string)
| |
3.还原/etc/my.cnf(将skip-grant-tables删除)
4.重启mysql,即可使用新密码登录了