本文适合centos7环境下安装mysql,在安装和卸载过程中,都在root用户下完成。

清理环境

清理环境,卸载老版本或者不必要的环境

检查是否存在mariadb

ps ajx | grep mariadb

如果存在mariadb,停止其服务

systemctl stop mariadb.service

检查系统安装包
检查系统中是否已经存在mysql和mariadb的系统安装包,如果已经存在进行清除

rpm -qa | grep mariadb

rpm -qa | grep mysql

卸载系统默认安装包

yum remove mariadb

获取mysql官方yum源

查看自己系统版本

cat /etc/redhat-release

获取mysqlyum源
从mysql官方获取yum,[Index of /232905 (mysql.com)](https://repo.mysql.com/
点开链接后可以看到很多文件,右键选择查看页面源代码,可以看到更详细的介绍


因为我现有系统版本位centos7.9的版本,所以选择el7-9的版本,点击之后自动下载到本地电脑。

  • 然后将下载到本地的资源上传到Linux服务器

安装mysql yum源

查看已经安装到本地的yum源

ls .etc/yum.repos.d/ -l

安装上传的yum源

rpm -ivh example-package.rpm
example-package.rpm就是刚刚上传的文件资源


在安装之后再次查看已经安装到本地的yum源,就可以看到了

安装mysql服务

经过上面的操作,已经将mysql的官方yum源安装到了本地,此时可以进行安装mysql服务

安装mysql

yum install -y mysql-community-server

安装报错解决办法

在安装过程中,可能出现密钥过期的问题
可能出现以下提示:

Failing package is: mysql-community-client-5.7.39-1.el7.x86_64
GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

解决办法
在命令行中输入执行下面代码之后,重新运行安装程序

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

验证是否安装完成

三位一体,下面三个都存在的情况下,证明mysql安装成功。

  • my.cnf:配置文件
  • mysqld:mysql服务端
  • mysql:客户端

启动mysql服务

启动服务

systemctl start mysqld

登录服务

方法一:

对于较老的版本,存在一个配置文件/日志文件,记录一个临时的密码,可以使用临时密码进行登录。

方法二:

对于较新的mysql版本,没有所谓的临时密码,root默认没有密码,可以尝试直接登录
mysql -uroot -p
  • 如果出现下面情况,则表示默认还是存在密码

方法三:

更改mysql配置文件,直接跳过权限鉴定,即不需要输入密码

1. 打开mysql配置文件

vim /etc/my.cnf

2. 在配置文件的最好一行中加入文本

skip-grant-tables

3. 重启mysql服务

停止mysql服务

mystemctl stop mysqld

开启mysql服务

mystemctl start mysqld

重启mysql服务

systemctl restart mysqld

4. 登录mysqld

mysql -uroot -p
让输入密码直接回车不需要输入

退出服务

登录成功之后直接在命令行中输入 quit 即可退出

设置开机启动

对于linux服务器而言,开机自启的意义不大,因为服务器通常不会关机
systemctl enable mysqld
systemctl daemon-reload

配置my.cnf

my.cnf是mysql的配置文件,每次mysql的启动都会先加载这个配置文件,更改配置文件之后需要重启mysql服务。

配置编码格式

配置数据库客户端和服务器的编码格式
在my.cnf文件中加入下面的代码
[mysql]
#default-character-set=utf8

配置端口号

port = 3306
通常默认的mysql服务的端口号都是3306

配置文件存储位置

配置mysql数据库文件存储的位置
datadir=/var/lib/mysql

配置默认字符集

配置服务器默认的字符集。
  • 不同版本的 MySQL 可能有不同的默认值,但设置为 utf8 确保数据库能够正确处理多语言字符数据。
character-set-server=utf8

配置默认搜索引擎

配置服务器默认搜索引擎
  • InnoDB 是 MySQL 的事务性存储引擎,支持ACID特性和行级锁定,适合处理高并发的数据库操作。
default-storage-engine=innodb
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐