MySQL在Linux系统上的完整安装与配置流程

 更新时间:2026年03月10日 09:04:34   作者:玖剹  
文章详细介绍了在Linux系统中安装和卸载MySQL或MariaDB的过程,包括切换到root用户、检查和卸载包、备份数据、配置源、安装服务端和客户端、设置密码、检查服务状态以及常见问题处理等步骤,需要的朋友可以参考下

安装与卸载中,用户全部切换成为root,⼀旦安装,普通用户能使用的

一:卸载不要的环境

ps ajx |grep mariadb # 先检查是否有mariadb存在

如果有,停止服务

systemctl stop mariadb.service # 停⽌mariadb 服务

二:检查系统安装包

# 检查所有与 mysql 相关的包
dpkg -l | grep -i mysql

# 检查所有与 mariadb 相关的包
dpkg -l | grep -i mariadb

如果想更精确地查找,可以用:

# 列出所有名称中包含 mysql 的包
dpkg --get-selections | grep -i mysql

# 或者用 apt 查看已安装包
apt list --installed | grep -i mysql

想确认 MySQL/MariaDB 服务是否存在并运行:

# 检查 mysql 服务
systemctl list-unit-files | grep mysql

# 检查 mariadb 服务
systemctl list-unit-files | grep mariadb

三:卸载这些默认安装包

卸载前必须先停止 MySQL/MariaDB 服务:

# 停止 MySQL 服务
sudo systemctl stop mysql

# 如果是 MariaDB,执行
sudo systemctl stop mariadb

先查看要卸载的包名(确认目标)

# 列出所有 mysql/mariadb 相关包
dpkg -l | grep -i mysql
dpkg -l | grep -i mariadb

卸载已安装的包:

适合「重新安装」场景,仅卸载程序包,保留配置 / 数据:

# 卸载 MySQL 包(替换为你查到的包名)
sudo apt remove mysql-server mysql-client mysql-common

# 卸载 MariaDB 包(替换为你查到的包名)
sudo apt remove mariadb-server mariadb-client mariadb-common

彻底卸载(删除所有配置 + 数据,谨慎!)
适合「完全清理」场景,删除程序 + 配置 + 数据:

# 第一步:卸载包并清除配置
sudo apt purge mysql-server mysql-client mysql-common mariadb-server mariadb-client mariadb-common

# 第二步:自动清理依赖残留
sudo apt autoremove

# 第三步:删除残留的配置/数据目录(可选,谨慎!)
# 删除 MySQL 配置目录
sudo rm -rf /etc/mysql/
# 删除 MySQL 数据目录(⚠️ 会删除所有数据库,确认后再执行)
sudo rm -rf /var/lib/mysql/
# 删除残留的日志
sudo rm -rf /var/log/mysql/

数据备份:执行 purge 或删除 /var/lib/mysql/ 前,务必备份重要数据库(如 mysqldump -u root -p 数据库名 > 备份文件.sql)。
包名匹配:卸载时要和 dpkg -l 查到的包名完全一致(比如 mysql-server-8.0 而非 mysql-server),避免漏卸。

验证卸载结果:卸载后执行以下命令,无输出则说明卸载干净

dpkg -l | grep -i mysql
dpkg -l | grep -i mariadb

四:获取mysql官方yum源

官方网站

右键查看网页源代码,可看见完整的mysql版本

最好安装和自己系统⼀致的mysql版本,否则可能会存在软件兼容性问题

ubuntu查看自己的版本:

cat /etc/os-release #查看系统文件

或者

lsb_release -a #查看发行版本信息

通过自己的版本,选一个最近的mysql版本即可,下载到本地

可创建一个MySQL目录,然后上传文件

rz #把文件从本地上传到linux

五:安装mysql yum源

进入到MySQL目录

更新系统依赖,避免安装报错:

sudo apt update && sudo apt install -y dpkg apt-transport-https ca-certificates

安装配置包:

sudo dpkg -i  mysql源名称
eg:sudo dpkg -i mysql-apt-config_0.8.36-1_all.deb

执行上述命令后,会弹出一个交互窗口,按以下步骤选择:
1.选择 MySQL Server & Cluster(默认已选中),按回车;
2.选择你要安装的 MySQL 版本(如 MySQL 8.0),按回车;
3.回到主界面,选择 Ok,按回车确认配置。

配置包安装完成后,必须更新 apt 源,让系统识别 MySQL 官方源:

sudo apt update

注意:如果出现 GPG 密钥错误(如 The following signatures couldn't be verified because the public key is not available),执行以下命令导入密钥:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 467B942D3A79BD29
sudo apt update

六:安装 MySQL 服务端 / 客户端

sudo apt install -y mysql-server

执行后会弹出设置 root 密码的交互窗口,务必记住你设置的密码;

(可选)安装客户端工具:不安装在本地可以使用
如果需要单独安装 MySQL 客户端(比如远程连接):

sudo apt install -y mysql-client

检查 MySQL 服务状态:

sudo systemctl status mysql

看到 active (running) 表示服务启动成功。

登录 MySQL 验证:

mysql -u root -p

输入你设置的 root 密码,能进入 MySQL 命令行(显示 mysql> 提示符)即安装完成。

七:安装中可能出现的问题

没有设置密码

# 停止 MySQL 服务
sudo systemctl stop mysql
# 跳过权限表启动
sudo mysqld_safe --skip-grant-tables &
# 登录 MySQL
mysql -u root
# 重置 root 密码(替换为你的新密码)
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
FLUSH PRIVILEGES;
exit;
# 重启服务
sudo systemctl restart mysql

dpkg 安装配置包报错(依赖缺失)

sudo apt -f install  # 自动修复依赖
sudo dpkg -i mysql安装源 # 重新安装配置包
#eg:sudo dpkg -i mysql-apt-config_0.8.36-1_all.deb  

八:查看配置文件和数据存储位置

MySQL 服务端(mysqld)主配置文件(核心):

/etc/mysql/mysql.conf.d/mysqld.cnf

MySQL 客户端配置文件(默认空):

/etc/mysql/conf.d/mysql.cnf

全局配置文件(通常是软链接,指向主配置):

/etc/mysql/my.cnf

数据存储路径:

/var/lib/mysql/

如果你想快速定位某个文件,可以用 whereis 或 which 命令,例如:

whereis mysql
which mysql

九:启动+查看服务

启动:

sudo systemctl start mysql

查看:

ps axj |grep mysqld
sudo netstat -ntlp
sudo systemctl status mysql

十:配置mysqld文件

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

i:切换到vim的插入模式

# 允许所有IP访问(核心配置)
bind-address = 0.0.0.0
port = 3306

# 修复字符集警告
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

#默认引擎
default-storage-engine=innodb

Esc:退回到默认模式,按:输入wq,保存更改

skip-grant-tables

添加该字段可以是mysql免密进入,但是服务会以一种特殊模式启动,默认不监听任何网络端口,只通过 Unix Socket 提供服务,因此端口号会显示为 0

该字段在centos下添加不会有任何影响,但ubuntu下最好带密码进入

配置后,mysql是一直运行不停止的,如果想要配置结果生效,重启

sudo systemctl restart mysql

十一:设置开机启动[可以不设]

sudo systemctl enable mysql
sudo systemctl status mysql

以上就是MySQL在Linux系统上的完整安装与配置流程的详细内容,更多关于MySQL在Linux上安装与配置的资料请关注脚本之家其它相关文章!

相关文章

  • Mysql 的存储引擎,myisam和innodb的区别

    Mysql 的存储引擎,myisam和innodb的区别

    这篇文章主要介绍了Mysql 的存储引擎,myisam和innodb的区别,需要的朋友可以参考下
    2014-12-12
  • MySQL中UPDATE语句使用的实例教程

    MySQL中UPDATE语句使用的实例教程

    这篇文章主要介绍了MySQL中UPDATE语句使用的实例教程,包括UPDATE的使用中所容易引起的性能问题的分析,需要的朋友可以参考下
    2015-11-11
  • MySQL8.0新特性之支持原子DDL语句

    MySQL8.0新特性之支持原子DDL语句

    这MySQL 8.0开始支持原子数据定义语言(DDL)语句。此功能称为原子DDL。这篇文章主要介绍了MySQL8.0新特性——支持原子DDL语句,需要的朋友可以参考下
    2018-07-07
  • mysql自定义排序顺序语句

    mysql自定义排序顺序语句

    这篇文章主要介绍了mysql 自定义排序顺序,在sql语句中加入ORDER BY FIELD,需要的朋友可以参考下
    2014-02-02
  • mysql 操作总结 INSERT和REPLACE

    mysql 操作总结 INSERT和REPLACE

    用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的SELECT语句,另外一种就是更新语句,也叫做数据操作语句。
    2009-07-07
  • Sql group by 分组取时间最新的一条数据(示例代码)

    Sql group by 分组取时间最新的一条数据(示例代码)

    这篇文章主要介绍了Sql group by 分组取时间最新的一条数据,本文通过示例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-04-04
  • 宝塔面板mysql无法启动问题的分析和解决

    宝塔面板mysql无法启动问题的分析和解决

    在使用宝塔linux面板一键安装LNMP的是,数据库mysql始终无法启动,查查找找用了几个小时,问题终于解决了,下面这篇文章主要给大家介绍了关于宝塔面板mysql无法启动问题的分析和解决方法,需要的朋友可以参考下
    2023-04-04
  • mysql left join快速转inner join的过程

    mysql left join快速转inner join的过程

    inner join内连接,显示两个表中有联系的所有数据而left join,左链接,以左表为参照,显示所有数据,右表中没有则以null显示,本文重点给大家讲解mysql left join快速转inner join的过程,需要的朋友参考下吧
    2021-06-06
  • MySQL中TINYINT、INT 和 BIGINT的具体使用

    MySQL中TINYINT、INT 和 BIGINT的具体使用

    MySQL提供了多种整数类型来满足不同的数据存储需求,本文主要介绍了MySQL中TINYINT、INT 和 BIGINT的具体使用,具有一定的参考价值,感兴趣的可以了解一下
    2024-07-07
  • mysql创建表添加字段注释的实现方法

    mysql创建表添加字段注释的实现方法

    这篇文章主要介绍了mysql创建表添加字段注释的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03

最新评论