在Linux系统中配置MySQL是搭建数据库服务的基础操作,不同发行版的安装命令略有差异,但核心流程一致,以下以Ubuntu/Debian和CentOS/RHEL为例,详细说明配置步骤。
安装MySQL服务
Ubuntu/Debian系统
# 更新软件包列表 sudo apt update # 安装MySQL服务器 sudo apt install mysql-server -y # 检查服务状态 sudo systemctl status mysql
CentOS/RHEL系统
# 安装MySQL官方仓库(若未配置) sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm -y # 安装MySQL服务器 sudo yum install mysql-community-server -y # 启动服务 sudo systemctl start mysqld # 检查服务状态 sudo systemctl status mysqld
初始化配置
安装完成后,需进行初始化设置,包括安全配置和基础参数调整:
# 运行安全配置脚本(自动设置root密码、移除匿名用户等) sudo mysql_secure_installation
根据提示操作:设置root密码(建议强密码)、移除匿名用户、禁止root远程登录、移除测试数据库、重新加载权限表。
修改核心配置文件
MySQL主配置文件通常位于/etc/mysql/mysql.conf.d/mysqld.cnf
(Ubuntu)或/etc/my.cnf
(CentOS),可根据需求调整参数:
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
常见配置项:
| 参数 | 作用 | 示例值 |
|——|——|——–|
| bind-address
| 监听IP地址,0.0.0
允许所有IP访问 | 0.0.0
|
| port
| 服务端口 | 3306
|
| max_connections
| 最大连接数 | 200
|
| character-set-server
| 数据库默认字符集 | utf8mb4
|
| default-storage-engine
| 默认存储引擎 | InnoDB
|
修改后保存,重启MySQL服务使配置生效:
sudo systemctl restart mysql
用户与权限管理
登录MySQL
# 使用root用户登录(若通过mysql_secure_installation设置了密码) mysql -u root -p
创建数据库与用户
-- 创建数据库 CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- 创建用户并授权('user1'@'%'允许所有IP访问,'localhost'仅本地访问) CREATE USER 'user1'@'%' IDENTIFIED BY 'StrongPassword123!'; -- 授予用户对mydb数据库的所有权限 GRANT ALL PRIVILEGES ON mydb.* TO 'user1'@'%'; -- 刷新权限 FLUSH PRIVILEGES;
查看用户权限
SHOW GRANTS FOR 'user1'@'%';
防火墙与端口配置
若需远程访问,需开放防火墙端口(以CentOS为例):
# 开放3306端口 sudo firewall-cmd --permanent --add-port=3306/tcp # 重新加载防火墙 sudo firewall-cmd --reload # 检查端口是否开放 sudo firewall-cmd --list-ports
相关问答FAQs
Q1:如何允许MySQL远程访问?
A:需完成三步:1)修改配置文件bind-address=0.0.0.0
;2)创建允许远程访问的用户(如'user1'@'%'
);3)开放服务器防火墙的3306端口,重启MySQL服务后即可远程连接。
Q2:忘记MySQL root密码怎么办?
A:1)停止MySQL服务:sudo systemctl stop mysql
;2)跳过权限表启动:sudo mysqld_safe --skip-grant-tables &
;3)登录MySQL并修改密码:mysql -u root
,执行UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE User='root';
;4)重启MySQL服务:sudo systemctl restart mysql
,使用新密码登录。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/23020.html