沃盼盼 发表于 2025-6-11 18:36:29

RHEL 9.0 安装 MySQL 8.0

RHEL 9.0 安装 MySQL 8.0

[*]安装 MySQL 服务器软件包:sudo dnf install mysql-server
报错处理:

使用 sudo yum install mysql-server --nogpgcheck命令

[*]检查安装:mysql --version


[*]启动mysqld服务:systemctl start mysqld.service
如果要开机启动:systemctl enable mysqld.service

[*]验证状态sudo systemctl status mysqld.service


[*]建议:要在安装 MySQL 时提高安全性,请运行以下命令:mysql_secure_installation
该脚本会提示过程中的每一步。该脚本可通过以下方法提高安全性:
- 为 root 帐户设置密码
- 删除匿名用户
- 禁止远程 root 登录(在本地主机之外)使用 MySQL 8.3 版本时, 保护策略稍有不同。root 帐户通常会附带一个临时密码。可以从 MySQL 日志文件中检索它,如下所示:
sudo grep 'A temporary password is generated' /var/log/mysqld.log | tail -1

再次运行mysql_secure_installation
此处输入刚刚的密码

[*]客户端连接mysql
mysql -h [服务器IP或主机名] -u [用户名] -p[密码] -P [端口]

[*]文件存的通常位置

[*]安装目录:/usr/local/mysql/
[*]数据目录:/var/lib/mysql/
[*]配置文件:/etc/my.cnf
[*]日志目录:/var/log/
[*]临时文件目录:/tmp/

外部无法连接到mysql服务器处理办法

[*]确认防火墙是否开放端口:
# CentOS/RHEL
firewall-cmd --list-ports | grep 3306
sudo firewall-cmd --add-port=3306/tcp --permanent
sudo firewall-cmd --reload

# Ubuntu/Debian
sudo ufw status | grep 3306
sudo ufw allow 3306确保端口开放:
sudo ufw allow 3306   # Ubuntu
sudo firewall-cmd --add-port=3306/tcp --permanent && sudo firewall-cmd --reload# CentOS
[*]MySQL 仅监听 Unix Socket
mysql -u root -p --protocol=socket如果能登录,说明 MySQL 仅允许 Socket 连接。
修改 MySQL 配置文件(通常是 **/etc/mysql/mysql.conf.d/mysqld.cnf** 或 **/etc/my.cnf**):

skip-networking = OFF   # 确保关闭(或删除此行)
bind-address = 0.0.0.0    # 允许所有 IP 连接(或指定服务器IP)然后重启 MySQL
sudo systemctl restart mysqld.service再次检查端口:

[*]MySQL 用户权限限制
本地连接mysql,执行:
SELECT Host, User FROM mysql.user;如果用户仅允许 **localhost**,需授权远程访问:
GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '密码';
FLUSH PRIVILEGES;
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: RHEL 9.0 安装 MySQL 8.0