Linux上安装MySQL是很多开发者和运维人员都会遇到的任务,看似简单,但不同Linux发行版、不同MySQL版本、不同安装方式之间差异不小。我根据自己的实际部署经验,把主流安装方法梳理了一遍,希望能帮你少走弯路。
用apt安装MySQL快不快
对于Debian和Ubuntu这类系统,用apt安装MySQL确实是最省事的方式。先用sudo apt update刷新软件源,然后执行sudo apt install mysql-server,系统会自动拉取官方仓库里最新的MySQL社区版。安装完成后,MySQL服务会自动启动,用systemctl status mysql就能看到运行状态。

不过有个坑要注意——默认安装后root用户的认证方式是auth_socket,也就是直接通过系统root用户登录MySQL,不需要密码。这会在后续配置时带来麻烦,尤其是你想用客户端远程连接的时候。解决办法是用sudo mysql进入MySQL命令行,执行ALTER USER ‘root’@’localhost’ IDENTIFIED WITH caching_sha2_password BY ‘你的密码’;把认证方式改过来。
apt安装的版本可能不是最新版,但胜在稳定。如果你需要特定版本,比如MySQL 8.0.35,可以添加MySQL官方的APT Repository。先下载MySQL官方的deb包配置工具,然后用dpkg -i安装,再次刷新源后就能看到更多版本选项了。
用yum和dnf怎么装MySQL

CentOS、RHEL、Fedora这些红帽系的系统,默认的软件源里往往没有MySQL,或者只有旧版本的MariaDB。所以第一步通常是添加MySQL官方Yum Repository。访问MySQL官网下载页面,找到对应系统的RPM包下载链接,执行sudo rpm -Uvh 加上那个链接,就能把MySQL的仓库配置进去。
安装命令也很直接:sudo yum install mysql-server或者sudo dnf install mysql-server,取决于你的系统版本。安装完成后美国linux主机,启动服务用systemctl start mysqld。第一次启动时,MySQL会生成一个临时root密码,放在/var/log/mysqld.log里,用grep ‘temporary password’这个文件就能看到。然后用这个临时密码登录,马上执行ALTER USER修改密码。
用yum或dnf安装的好处是,系统会自动处理依赖关系,包括libaio、ncurses等库文件。不过要注意,MySQL 8.0对密码强度有要求linux shell,密码得包含大小写字母、数字和特殊字符,不然会报错。

用通用二进制包安装有什么注意点
如果服务器没有外网,或者你想手动控制安装路径和版本,用MySQL官方提供的通用二进制包是最灵活的方式。先去MySQL官网下载Linux -- Generic版本的tar包,通常文件名是mysql-8.0.xx-linux-glibc2.12-x86_64.tar.xz这样的格式。
下载后用tar -xvf解压,把解压后的文件夹移动到/usr/local/mysql下。接下来创建mysql用户组和用户:groupadd mysql和useradd -r -g mysql -s /bin/false mysql。然后进入MySQL目录,执行mkdir mysql-files,再执行chown mysql:mysql mysql-files和chmod 750 mysql-files。

初始化数据库是关键的步骤,用bin/mysqld --initialize --user=mysql命令。初始化完成后,同样会生成一个临时root密码,记下来。然后启动服务:bin/mysqld_safe --user=mysql &。这种方式启动后,建议把MySQL的bin目录加到PATH环境变量里,方便以后操作。
安装后怎么配置和验证
不管用哪种方式安装,装完后都要做安全性配置。运行mysql_secure_installation脚本linux上安装mysql,它会让你设置密码强度、删除匿名用户、禁止root远程登录、删除测试数据库。这些都是基本的安全操作,建议每一步都确认执行。

验证安装是否成功,可以登录MySQL执行SELECT VERSION();看版本号,再用SHOW DATABASES;看看系统库是否正常。如果想测试性能,可以创建一个小数据库,插入一些数据,再执行查询看看响应时间。
配置远程访问也是常见需求。默认MySQL只监听127.0.0.1linux上安装mysql,要改成监听所有接口,得修改/etc/mysql/mysql.conf.d/f或者/etc/f里的bind-address,把127.0.0.1改成0.0.0.0。然后创建一个允许远程登录的用户:CREATE USER ‘用户名’@’%’ IDENTIFIED BY ‘密码’;再GRANT ALL PRIVILEGES ON . TO ‘用户名’@’%’。别忘了防火墙放通3306端口。
自己在服务器上装MySQL,关键是把基础步骤走扎实,包括添加正确的软件源、处理好权限和认证方式、完成安全配置。不同发行版和版本之间确实有差异,但只要理解了背后的原理,遇到问题就能自己排查。
