Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > MySQL在Linux上安装与配置

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

作者:玖剹

文章详细介绍了在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上安装与配置的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文