Linuxmysql安装教程新手:CentOSUbuntu系统安装步骤与报错解决

admin 数据库教程 3


新手学 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 -yapt update && apt upgrade -y
安装 MySQLyum install mysql-server -yapt install mysql-server -y
启动服务systemctl start mysqldsystemctl 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 上装其他软件也会顺手很多,一起往下看吧!

标签: mysql-server os-release

发布评论 0条评论)

  • Refresh code

还木有评论哦,快来抢沙发吧~