新手学 Linux 下装 MySQL,是不是一看到命令行就头大?CentOS 和 Ubuntu 命令不一样,对着教程敲命令却总报错?装完启动不了服务,输密码登不进去,折腾半天还没搞定?其实 Linux 装 MySQL 没那么难,关键是分清楚系统类型,避开几个常见坑。今天兔子哥就带零基础的朋友,分别讲 CentOS 和 Ubuntu 下的安装步骤,再把新手常遇到的报错问题一次性解决,看完你也能轻松搞定。
一、基础问题:Linux 装 MySQL 和 Windows 不一样?俩系统咋区分?
1. 为啥 Linux 装 MySQL 比 Windows 复杂?
可能有朋友会问:“Windows 点鼠标就行,Linux 非得敲命令,就不能简单点吗?” 其实 Linux 的命令行看着复杂,熟悉后比鼠标操作还快。而且 Linux 服务器上基本都用命令行管理,学这个也是为了以后做服务器开发打基础。MySQL 在 Linux 下更稳定,资源占用也少,装好了能一直跑,不用天天维护。
2. CentOS 和 Ubuntu 咋区分?命令别用混了
新手最容易犯的错就是把两个系统的命令弄混。简单说,CentOS 用 yum 包管理器,Ubuntu 用 apt;CentOS 的服务管理命令带 “systemctl”,Ubuntu 也能用但有些老版本习惯用 “service”。分不清自己的系统?输个
cat /etc/os-release命令,回显里有 “CentOS” 或 “Ubuntu” 字样,一看就知道。给大家整个命令对比表,装的时候别输错:| 操作场景 | CentOS 命令 | Ubuntu 命令 |
|---|---|---|
| 更新系统 | yum update -y | apt update && apt upgrade -y |
| 安装 MySQL | yum install mysql-server -y | apt install mysql-server -y |
| 启动服务 | systemctl start mysqld | systemctl start mysql |
二、CentOS 安装步骤:跟着敲命令,一步别错
1. 先更新系统,避免依赖问题
打开终端,先输
sudo yum update -y更新系统包,这步很重要,很多新手跳过更新,结果装 MySQL 时缺这缺那报错。等进度条走完,再装 MySQL:sudo yum install mysql-server -y,回车后等它自己下载安装,中间不用管,出现 “Complete!” 就说明装好了。2. 启动服务,设为开机启动
装完得启动服务才行,输
sudo systemctl start mysqld,没报错就说明启动成功。再输sudo systemctl enable mysqld,设成开机启动,这样电脑重启后 MySQL 会自己跑起来,不用每次手动启动。想确认服务状态?输sudo systemctl status mysqld,看到 “active (running)” 就没问题。3. 初始化设置,密码别太简单
CentOS 装完 MySQL 默认没有密码,得初始化设置。输
sudo mysqld --initialize --user=mysql,这步会生成临时密码。然后去日志里找临时密码:sudo grep 'temporary password' /var/log/mysqld.log,回显里 “localhost:” 后面的就是临时密码,记下来别丢了。接着登录 MySQL:
mysql -u root -p,粘贴刚才的临时密码(输密码时屏幕不显示,贴完回车就行)。进去后第一件事改密码:ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码'; 密码得复杂点,最少 8 位,带大小写字母、数字和符号,比如 “Mysql@2025#Cent”,不然会提示密码太弱。三、Ubuntu 安装步骤:命令不一样,步骤更简单
1. 安装命令别输错, Ubuntu 用 apt
Ubuntu 装 MySQL 更简单,先更新系统:
sudo apt update && sudo apt upgrade -y。然后直接装:sudo apt install mysql-server -y,比 CentOS 少一步初始化,系统会自动帮你配置基础环境。2. 启动服务,和 CentOS 命令稍不同
启动服务输
sudo systemctl start mysql,设开机启动:sudo systemctl enable mysql。查状态也是sudo systemctl status mysql,看到绿色的 “running” 就成。3. 安全配置,一键搞定基础设置
Ubuntu 有个超方便的安全脚本,输
sudo mysql_secure_installation,按提示一步步来:- 问 “是否启用密码验证插件”,选 “Y”,密码强度选中等就行。
- 输入新密码,和 CentOS 一样,复杂点别偷懒。
- 后面问 “是否移除匿名用户”“是否禁止 root 远程登录”“是否删除 test 数据库”,全选 “Y”,这样更安全。
配置完直接用
mysql -u root -p登录,输你设的密码就能进去,比 CentOS 少找临时密码的步骤,新手更不容易出错。四、配置小技巧:这些设置让 MySQL 更安全
1. 别用 root 远程登录,新建用户更安全
很多新手图省事直接用 root 账号远程连接,其实很危险。可以新建个用户专门远程用:
CREATE USER '新用户名'@'%' IDENTIFIED BY '密码'; 再给权限:GRANT ALL PRIVILEGES ON *.* TO '新用户名'@'%' WITH GRANT OPTION; 最后FLUSH PRIVILEGES; 生效。这样远程用新用户登录,就算密码泄露,root 权限也不会丢。2. 改默认端口,减少被攻击风险
默认 3306 端口容易被扫描,新手可以改个端口。打开配置文件:CentOS 是
/etc/my.cnf,Ubuntu 是/etc/mysql/mysql.conf.d/mysqld.cnf,在 [mysqld] 下面加port=3307(随便换个没被占用的端口),保存后重启服务sudo systemctl restart mysqld(CentOS)或sudo systemctl restart mysql(Ubuntu)。五、报错解决:这些问题新手 90% 会遇到
1. 服务启动失败,提示 “Job for mysqld.service failed”
这是最常见的错,先查日志找原因:CentOS 输
cat /var/log/mysqld.log,Ubuntu 输cat /var/log/mysql/error.log。常见原因有这几个:- 端口被占用:输
netstat -tuln | grep 3306,如果有进程占用,用kill -9 进程ID杀掉,再重启服务。 - 权限不够:输
sudo chown -R mysql:mysql /var/lib/mysql,给数据目录权限,再启动。 - 配置文件错了:把改过的配置文件恢复默认,或者重新装一次(新手别瞎改配置)。
2. 登录时提示 “Access denied for user 'root'@'localhost'”
密码输错了?试试用临时密码登录(CentOS)。如果密码真忘了,重置一下:
- 先停服务:
sudo systemctl stop mysqld(CentOS)或sudo systemctl stop mysql(Ubuntu)。 - 跳过权限启动:
sudo mysqld_safe --skip-grant-tables &。 - 另开终端登录:
mysql -u root,进去后改密码:UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE User='root';刷新权限FLUSH PRIVILEGES;,退出后重启服务。
有个学员密码忘光了,按这步骤重置完就能登录,记住改完密码一定要重启服务。
3. 远程连接不上,输 IP 登不进去
远程连不上先查这几点:
- 服务器防火墙没开端口:CentOS 输
sudo firewall-cmd --add-port=3306/tcp --permanent,Ubuntu 输sudo ufw allow 3306,都要重启防火墙。 - 没授权远程用户:按前面说的新建用户并授权,别用 root 远程登录。
- 云服务器安全组没开端口:如果是云服务器,登录控制台,在安全组里添加入站规则,开放 3306 端口。
最后想跟大家说
Linux 装 MySQL,关键是分清楚自己的系统,别把 yum 和 apt 命令弄混。新手刚开始敲命令容易手抖输错,多试几次就熟了。遇到报错别慌,先看日志,大部分问题日志里都写着呢。兔子哥第一次在 CentOS 装 MySQL,因为没更新系统缺依赖,卡了俩小时,后来更新系统再装就成了。其实只要耐心点,跟着步骤来,报错了按教程一步步排查,你也能很快搞定。多练几次命令,以后在 Linux 上装其他软件也会顺手很多,一起往下看吧!
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~