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
运行后,按提示顺序操作:
设置验证插件:建议输入 Y,启用强密码校验。
设置root密码:输入两次强密码(务必牢记)。
移除匿名用户:输入 Y,提高安全性。
禁止root远程登录:输入 Y(生产环境强烈建议)。
移除测试数据库:输入 Y。
立即重载权限表:输入 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。

发表评论
所有评论