Linux 系统 MySQL 完整安装配置教程:从卸载 MariaDB 到优化 my.cnf----《Hello MySQL!》(1)

前言

在 Linux 系统中,许多发行版(如 CentOS 7)默认预装 MariaDB(MySQL 的分支项目),但在实际开发、部署场景中,我们常需要安装 MySQL 官方版本以满足特定兼容性或功能需求。然而,新旧数据库环境的冲突、YUM 源配置异常、初始密码登录、中文乱码等问题,往往成为新手入门的 “绊脚石”。​

本文将从卸载冗余环境出发,一步步带你完成 MySQL 官方 YUM 源配置、服务器 安装、服务启停、客户端登录(含 3 种密码解决方案)、核心配置文件(my.cnf)优化等关键操作,全程附实操命令与效果截图,兼顾实用性与易懂性。无论你是 Linux 运维新手,还是需要快速搭建 MySQL 环境的开发者,都能通过本文快速上手,避开常见坑点,高效完成 MySQL 环境的部署与配置。

卸载不要的环境

先检查是否有mariadb在运行:
ps ajx |grep mariadb

检查系统安装 

rpm -qa | grep mariadb//mariadb是mysql的一个分支项目
rpm -qa | grep mysql

卸载这些包

可以一个一个删,也可以一块都删了

批量删除的方法:rpm -qa | grep mysql | xargs yum remove这是删的rpm -qa | grep mysql里面的

在/etc/my.cnf里面的是MySQL/MariaDB的配置文件

在/var/lib/mysql里面的是数据库的数据存储目录

这俩不会被主动删除的,–也不建议删

安装MySQL官方yum源

获取MySQL官方yum源:

在http://repo.mysql.com/里面(查看网页源代码看的会更详细)

最好是安装跟自己系统一致的mysql版本,不然小心软件兼容性问题

然后通过rz指令把安装包搞到自己的系统里面

安装软件配置包:rpm -Uvh mysql57-community-release-el7.rpm

可以看ls /etc/yum/repos/d/ -l来看安没安装上

yum list |grep mysql可以查看有关mysql的软件包

之后就yum install -y mysql-community-server安装MySQL服务器的核心主程序包

这一步安装失败的问题:

通过这个解决:rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

使用程序

注意:与存储相关的网络服务器进程默认通常需要 root 权限启动,比如mysqld

但是mysql不需要哈,mysql是客户端,用于连接已启动的 MySQL 服务器然后进行操作

systemctl start mysqld.service或者systemctl start mysqld来启动MySQL的后台服务端

可以用ps ajx |grep mysqld来查看是不是启动成功了

这样就是启动成功了

mysql -uroot -p来启动客户端:

这里就会询问你密码:(有三种方法)

1.老版本的方法:没有密码,可以直接登录(password那里直接回车就行)

2.获取临时密码:sudo grep 'temporary password' /var/log/mysqld.log

3.打开mysql的配置文件vim /etc/my.cnf,在最后一栏放上skip-grant-tables,然后重启mysqld(重启可以用systemctl restart mysqld或者先关闭再启动)

配置my.cnf

打开/etc/my.cnf(my.cnf后面不加/!)

给补充成这样:

Linux 系统 MySQL 完整安装配置教程:从卸载 MariaDB 到优化 my.cnf----《Hello MySQL!》(1)

port=3306:指定 MySQL 服务监听的网络端口(MySQL默认用的是3306–所以这个不写也行)

character-set-server=utf8:设置 MySQL 服务器端的默认字符集为 utf8,解决中文等非英文字符的乱码问题

default-storage-engine=innodb:指定 MySQL 创建表时的默认存储引擎为 InnoDB

引申:datadir那个是对应的数据存放路径

引申:一些其他的指令

systemctl enable mysqld--让mysqld开机自启动
--这个一般是不需要的,因为云服务器也基本上是不关机的

systemctl daemon-reload--重新加载所有服务的配置文件(重启mysqld代替不了这个)
--修改了/usr/lib/systemd/system/mysqld.service里面的东西才需要

打断数据的话还是ctrl+c
ctrl+d是退出mysql客户端

上一篇 华为CE交换机-LLDP配置
下一篇 三层交换机下面再接一台三层交换机怎么配置?