Mysql的安装,加固与远程访问

MySQL 安装、加固与远程访问

MySQL 是一个流行的开源关系型数据库管理系统(RDBMS),使用 SQL 操作数据,数据以表、行、列形式存储。本节详细记录了 MySQL 的安装与加固的完整步骤(CentOS / Rocky 版本),以及怎么配置远程访问。


一、MySQL 安装

启用 MySQL 官方仓库

bash 复制代码
dnf -y install https://repo.mysql.com/mysql84-community-release-el8-1.noarch.rpm

MySQL 常用有 5.7 和 8.0 版本,默认下载 8.0;如果需要下载 5.7,需要提前切换:

bash 复制代码
dnf install -y yum-utils

# 禁用 8.0 仓库
yum-config-manager --disable mysql80-community

# 启用 5.7 仓库
yum-config-manager --enable mysql57-community

安装 MySQL

bash 复制代码
dnf install -y mysql-community-server

启动服务并设置开机自启

bash 复制代码
systemctl start mysqld
systemctl enable mysqld
systemctl status mysqld

注意 :CentOS / RHEL 上服务名是 mysqld;Ubuntu / Debian 上是 mysql。

查看临时密码

安装以后需要先获取初始临时密码,再登录 MySQL 修改密码:

bash 复制代码
grep -i password /var/log/mysqld.log

登录并修改密码

bash 复制代码
mysql -uroot -p
sql 复制代码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Mysql@123';
FLUSH PRIVILEGES;   -- 刷新一下

修改以后可以重新登录一下,然后用 show databases 检验:

bash 复制代码
mysql -uroot -p

-u 表示用户,-p 表示输入密码。


二、初始化安装配置

bash 复制代码
mysql_secure_installation

交互项说明:

交互项 建议选择 说明
是否启用密码强度检查(validate_password) 新手可先选 N 选 N 可设置简单密码,方便练习;生产环境建议选 Y 并设置强密码
设置 root 密码 输入并确认 需牢记,后续登录使用
删除匿名用户 Y 提高安全性
禁止 root 远程登录 Y 只允许本地登录更安全
删除测试数据库 Y 减少冗余与风险
重新加载权限表 Y 使配置立即生效

三、远程访问配置

1. 修改 MySQL 绑定地址

bash 复制代码
# CentOS / RHEL
vim /etc/my.cnf

# Ubuntu / Debian
vim /etc/mysql/mysql.conf.d/mysqld.cnf

找到或添加:

ini 复制代码
bind-address = 0.0.0.0    # 表示允许任何主机访问,也可以设置成特定 IP

配置更改后需要重新启动服务:

bash 复制代码
# CentOS / RHEL
systemctl restart mysqld

# Ubuntu / Debian
systemctl restart mysql

2. 创建远程用户

修改配置文件以后,我们不能直接让远程用户获取 root 账号登录,所以需要创建一个用户账号:

sql 复制代码
CREATE USER 'remote_user'@'%' IDENTIFIED BY 'Mysql@123';

注:

  • 'remote_user'@'%':允许从任何主机连接。remote_user 表示用户名;% 表示任何主机可访问。
  • IDENTIFIED BY 设置密码。

3. 放行防火墙端口

设置完毕以后,还要防止防火墙阻拦 MySQL 端口,需要放行 3306 端口:

bash 复制代码
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload

4. 远程连接测试

在数据库服务器创建远程用户后,远程用户又该怎么连接呢?只需要比本机登录多一个 -h 参数即可:

bash 复制代码
mysql -h 部署服务器IP -u remote_user -p

输入密码后即可登录,说明远程访问配置成功。

相关推荐
一隅论数智1 小时前
给AI Agent一颗“私域大脑“:本体增强的工程化之路
大数据·运维·数据仓库·人工智能·笔记·学习·政务
龙腾AI白云1 小时前
【轻量化大模型:低成本AI落地的产业新范式】
大数据·数据库·人工智能·机器学习
计算机编程指导师1 小时前
【计算机毕设选题】基于Hadoop的电信网络诈骗话术语义特征挖掘分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·数据库·python
wdfk_prog1 小时前
Wi-Fi Direct 源码分析(11):P2P-GROUP-STARTED 之后——Group Interface、IP 配置与真实数据通路
运维·服务器·网络协议·tcp/ip·asp.net·p2p·wifi-direct
IT古董1 小时前
《FDE前沿部署工程师实战教程》31 - Enterprise AI Reliability:Agent稳定性与生产运维体系
大数据·数据库·人工智能
MicrosoftCloud1 小时前
用户权限 02|/etc/passwd、/etc/shadow、/etc/group:三个文件讲透 Linux 用户体系
linux·运维·ubuntu·用户管理·权限·useradd
天远API1 小时前
零信任架构实战:基于天远人车核验加强版构建自动化商用车承保核验网关
运维·人工智能·架构·自动化
人丰2 小时前
SPC 上线前,先把并发和容量算清楚
数据库·制造·设计规范
崽崽..2 小时前
【Linux】ping命令刨析
linux·运维·服务器·网络