Linux系统如何正确配置MySQL数据库?

在Linux系统中配置MySQL是搭建数据库服务的基础操作,不同发行版的安装命令略有差异,但核心流程一致,以下以Ubuntu/Debian和CentOS/RHEL为例,详细说明配置步骤。

linux如何配置mysql

安装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),可根据需求调整参数:

linux如何配置mysql

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为例):

linux如何配置mysql

# 开放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

(0)
酷番叔酷番叔
上一篇 3小时前
下一篇 3小时前

相关推荐

  • Linux光盘如何轻松挂载?

    理解挂载概念挂载(Mount):Linux通过“挂载点”(一个目录)访问外部存储设备(如光盘),简单说,就是将光盘内容“链接”到指定目录,光盘设备标识:通常为 /dev/sr0 或 /dev/cdrom(后者是前者的软链接),可通过命令确认:ls -l /dev/cdrom* # 查看设备符号链接挂载光盘的详细……

    2025年6月23日
    3700
  • Linux启动盘如何制作?详细步骤与方法指南

    制作Linux启动盘是安装Linux系统、修复系统故障或体验Linux发行版的常用操作,其核心原理是将Linux系统镜像文件(ISO)写入可移动存储设备(如U盘),使设备具备启动能力,以下是详细的制作步骤及注意事项,涵盖不同操作系统环境下的操作方法,准备工作在制作启动盘前,需确保以下条件准备就绪:Linux系统……

    2025年8月26日
    1500
  • Linux僵尸进程为何无法用kill杀死?如何彻底清除?

    在Linux/Unix系统中,进程是程序执行的基本单位,具有多种运行状态,其中僵尸进程(Zombie Process)是一种特殊且需要关注的异常状态,僵尸进程指的是子进程已经终止(完成执行或被强制终止),但其父进程尚未通过系统调用(如wait()或waitpid())获取子进程的终止状态,导致子进程的进程描述符……

    2025年8月31日
    1300
  • 如何安全登录Linux服务器?

    远程登录(最常用场景)SSH 登录(推荐安全方式)步骤:ssh 用户名@服务器IP地址 -p 端口号示例:ssh admin@192.168.1.100 -p 22 # 默认端口22可省略关键操作:首次登录:需输入yes确认主机指纹(防中间人攻击),认证方式:密码登录:输入用户密码(输入时无显示),密钥登录(更……

    2025年7月26日
    2500
  • Linux系统32位还是64位?速查

    在 Linux 系统中,确认操作系统位数(32 位或 64 位)对软件安装、驱动兼容性和性能优化至关重要,以下是 5 种权威方法,适用于所有主流 Linux 发行版(Ubuntu、CentOS、Debian 等),无需专业知识即可操作:🔍 方法 1:使用 uname 命令(推荐)步骤:打开终端(快捷键 Ctrl……

    2025年8月8日
    1600

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信