RHEL 9.0 安装 MySQL 8.0
sudo dnf install mysql-server
报错处理:
使用 sudo yum install mysql-server --nogpgcheck
命令
mysql --version
systemctl start mysqld.service
如果要开机启动:systemctl enable mysqld.service
sudo systemctl status mysqld.service
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 -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 -u root -p --protocol=socket
如果能登录,说明 MySQL 仅允许 Socket 连接。
修改 MySQL 配置文件(通常是 **/etc/mysql/mysql.conf.d/mysqld.cnf**
或 **/etc/my.cnf**
):
[mysqld]
skip-networking = OFF # 确保关闭(或删除此行)
bind-address = 0.0.0.0 # 允许所有 IP 连接(或指定服务器IP)
然后重启 MySQL
sudo systemctl restart mysqld.service
再次检查端口:
本地连接mysql,执行:
SELECT Host, User FROM mysql.user;
如果用户仅允许 **localhost**
,需授权远程访问:
GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '密码';
FLUSH PRIVILEGES;
参与评论
手机查看
返回顶部