mysql菜鸟教程

首页 >> mysql菜鸟教程

2.4 Linux系统安装mysql

     在Linux世界安装MySQL,主要依靠其强大的包管理器。这个过程与Windows/macOS的图形化安装截然不同,全程在终端中完成。了解其背后的流程,能帮你更好地排查问题。


Ubuntu系统安装详解 (以22.04 LTS为例)

第1步:更新系统包索引

在安装任何软件前,这都是一个好习惯。

sudo apt update
sudo apt upgrade -y

第2步:安装MySQL服务器

Ubuntu官方仓库提供了MySQL,但可能不是最新版。如需最新版,可从MySQL官网下载APT仓库配置后安装。这里以安装默认仓库版本为例:

# 安装mysql-server包(包含了客户端和服务端)
sudo apt install mysql-server -y

第3步:安全初始化配置(至关重要!)

安装完成后,MySQL默认root用户没有密码,必须运行安全脚本进行设置:

sudo mysql_secure_installation

运行后,按提示顺序操作:

  1. 设置验证插件:建议输入 Y,启用强密码校验。

  2. 设置root密码:输入两次强密码(务必牢记)。

  3. 移除匿名用户:输入 Y,提高安全性。

  4. 禁止root远程登录:输入 Y(生产环境强烈建议)。

  5. 移除测试数据库:输入 Y

  6. 立即重载权限表:输入 Y,使设置生效。

第4步:管理MySQL服务

使用 systemctl 命令管理服务:

# 启动MySQL服务
sudo systemctl start mysql

# 设置开机自启
sudo systemctl enable mysql

# 查看服务状态 (确认Active状态为running)
sudo systemctl status mysql

第5步:验证安装与登录

# 使用刚设置的root密码登录
mysql -u root -p

登录成功后,执行 SHOW DATABASES; 能看到初始数据库列表,即告成功。

CentOS系统安装详解 (以CentOS 7为例)

注意:CentOS 8的默认包管理器是 dnf,但命令格式与 yum 基本兼容。以下以 yum 为例,适用于CentOS 7/8。

第1步:添加MySQL官方Yum仓库

CentOS默认仓库不包含MySQL,需要从MySQL官网获取仓库。

# 下载MySQL的Yum仓库安装包(请访问官网获取最新版链接)
wget https://dev.mysql.com/get/mysql80-community-release-el7-9.noarch.rpm

# 安装仓库RPM包
sudo rpm -Uvh mysql80-community-release-el7-9.noarch.rpm

# 验证仓库是否添加成功
yum repolist enabled | grep "mysql.*-community.*"

第2步:安装MySQL服务器

# 安装MySQL社区版服务器
sudo yum install mysql-community-server -y

第3步:启动服务并安全初始化

# 启动服务并设置开机自启
sudo systemctl start mysqld  # 注意CentOS服务名是mysqld
sudo systemctl enable mysqld

# 查看初始root临时密码(安装后第一次启动会生成在日志中)
sudo grep 'temporary password' /var/log/mysqld.log

记下显示的临时密码(如:root@localhost: 3s#fqg!hL9Ka),然后立即运行安全脚本:

sudo mysql_secure_installation

过程与Ubuntu类似,但第一步需要输入刚才记下的临时密码,之后步骤相同。

第4步:配置防火墙(如需远程连接)

如果服务器需要被远程访问,需开放默认端口3306:

# CentOS 7+ 默认使用firewalld
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
sudo firewall-cmd --reload

核心概念与高级配置

配置文件位置

理解配置文件位置对排查问题至关重要:

  • Ubuntu: 主配置文件 /etc/mysql/mysql.conf.d/mysqld.cnf

  • CentOS: 主配置文件 /etc/my.cnf

  • 通用: 数据目录通常为 /var/lib/mysql/

忘记root密码的解决方法

如果忘记了root密码,可以按以下步骤重置:

1.停止MySQL服务:sudo systemctl stop mysql (Ubuntu) 或 sudo systemctl stop mysqld (CentOS)。

2.启动无密码安全模式:sudo mysqld_safe --skip-grant-tables &

3.无密码登录MySQL:mysql -u root

4.执行命令更新密码(MySQL 8.0+):

FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewStrongPassword!';
FLUSH PRIVILEGES;
EXIT;

5.重启MySQL服务至正常模式。

安装后建议操作

1.创建日常使用的专用用户(避免使用root):

CREATE USER 'devuser'@'localhost' IDENTIFIED BY 'StrongPass!';
GRANT ALL PRIVILEGES ON *.* TO 'devuser'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

2.测试基本操作:创建数据库、表,并插入数据。

安装验证清单

完成安装后,请逐项核对:

  • MySQL服务状态为 active (running)

  • 可以使用 mysql -u root -p 成功登录

  • 能够执行 SHOW DATABASES; 等基本SQL命令

  • (可选)防火墙已正确配置

如果在安装过程中遇到任何问题,一个非常有效的排错方法是查看MySQL的错误日志。在Ubuntu上,错误日志通常位于 /var/log/mysql/error.log;在CentOS上,通常位于 /var/log/mysqld.log

恭喜你!至此,你已经在主流的Linux发行版上成功搭建了MySQL。


发表评论

昵称:
联系方式:
评论内容:

所有评论

关于我 备案号:蜀ICP备2023042032号-1