# 安装 MySQL 数据库

# 前言

# MySQL 数据库的版本

目前 MySQL 官网为我们提供了两个版本,一个是社区版本,一个是商业版本。

# 社区版本 (MySQL Community Server)

这个版本的数据库与早先的版本一样,还是完全免费的,但是 MySQL 不提供任何的技术支持。

# 商业版本 (MySQL Community Enterprise Edition)

这个版本是收费的,我们也可以免费试用 30 天,官方也会提供相关的技术支持。

注意:以下安装教程统一使用的是 MySQL 的社区版本。

# 在 Windows 系统上安装 MySQL 数据库

# 方式一:通过 ZIP 压缩包安装

# 下载 ZIP 压缩包

打开 MySQL Community Downloads (opens new window) 官网,点击【Product Version】选择需要的版本,这里以【5.7.37】为例,然后找到 64 位,点击 Download。

image-20220612035306303

说明:

mysqld 和 mysqld-debug 的区别:https://dev.mysql.com/doc/refman/5.7/en/windows-select-server.html (opens new window)

# 解压 ZIP 压缩包

下载完成之后,把压缩包解压出来,然后进入解压后的目录。

# 配置环境变量

解压后进入 bin 目录。

image-20220612040107986

右键【此电脑】点击【属性】,左侧找到【高级系统设置】,选择【环境变量】,找到下面的系统变量。

新建一个变量【MYSQL_HOME】,值为安装路径,如:D:\mysql-5.7.37-winx64

编辑变量【Path】,新增【%MYSQL_HOME%\bin】

完成后点击确定,关闭对话框。

# 初始化 MySQL

以【管理员身份运行】打开命令提示符,输入以下命令。

因为涉及到服务的注册,没有管理员权限是无法注册成功的。

# 创建 data 目录并填充 MySQL 系统模式中的表来初始化 MySQL 安装
mysqld --initialize-insecure
# serviceName 服务名为可选项,不输入默认为 MySQL
mysqld --install [serviceName]
# 安装服务成功后启动服务
net start mysql
# 设置 MySQL 密码,不执行则默认密码为空,这里以 123456 为例。
mysqladmin -uroot password 123456

也可以不注册服务,需要用的时候再手动执行命令启动【D:\mysql-5.7.37-winx64\bin\mysqld MySQL】,启动服务也是执行这一条命令,但是注册为服务可以方便 Windows 系统开机自动启动。

# 卸载 MySQL

卸载前可以备份所有数据库到一个 SQL 文件。

mysqldump -uroot -p --all-databases > sqlfile.sql

执行以下命令可以进行数据库文件的导入

# D:\sqlfile.sql 为要导入 SQL 的文件路径
source D:\sqlfile.sql

执行以下命令移除服务

# MySQL 是注册时 MySQL 服务时填写的的服务名称,不填默认为 MySQL
net stop MySQL
mysqld  --remove  MySQL

参考文献:

Windows平台下MySQL8.0压缩包方式安装与卸载 (opens new window)

# 方式二:通过 MSI 安装包安装

# 安装 5.7/8.0 数据库

备注:这里以 5.7 为例子,8.0 也是一样的。

# 下载 MySQL 数据库安装器

访问 MySQL 官网:https://www.mysql.com/ (opens new window)

然后在上方找到 DOWNLOADS 选项。

image-20220513102815228

向下滚动页面,点击 MySQL Community (GPL) Downloads »

image-20220513103001440

点击 MySQL Installer for Windows,下载 MySQL 针对 Windows 系统发行的安装器

image-20220513103057756

打开页面后默认是最新版本,点击 Archives 下载历史版本。

image-20220513103202761

点击 Product Version 下拉框,可以选择需要下载的版本。

image-20220513103248895

下载对应版本的完整安装包。

image-20220513103739300

# 安装 MySQL 数据库
# 运行 MySQL 安装包

找到刚才下载好的 msi 安装包,双击运行。

image-20220513104133066

如果出现提示是否应用进行更改,选择是。

image-20220520123016793

运行后会准备进入安装环境,耐心等待处理完成。

image-20220513104228498

# 选择安装类型

进入到 MySQL 的安装环境中,就会弹出如下界面。

我们选择默认的开发者模式即可,无需改动,直接点击 “Next” 下一步。

image-20220513104429099

# 依赖环境检查

接下来会进行环境检查,点击 Execute 安装 MySQL 所需要的依赖环境。

image-20220513131644827

然后会弹出依赖安装界面,如果没有自动弹出来下载框,在下面手动点一下。

image-20220513131918318

依赖安装完成后点击 Close 关闭。

image-20220513132041516

安装好依赖之后,点击 Next 下一步。

image-20220513132129733

如果有的产品依赖没有安装,就会出现这个弹窗,但是那些产品不是必须的,不影响使用。

只要保证 MySQL Server 能够安装成功就可以了。

点击 Yes 进入下一步。

image-20220513132241703

# 安装产品

点击 Execute 执行安装。

image-20220513105511313

这里需要较长时间安装,耐心等待安装完成。

image-20220513105703129

看到前面绿色的勾说明安装成功了,接下来点击 Next 进入配置。

image-20220513114130752

这里列出了需要配置的产品,点击 Next 进入下一步。

image-20220513114233418

# 配置 MySQL 参数

这里可以修改端口和配置类型,使用默认配置即可点击 Next。

这里可以看到 MySQL 默认的端口号是 3306,一般情况下使用默认值即可,不需要修改。

image-20220513114405338

如果是安装 MySQL 8.0,这里还会多一个步骤,配置验证的方法。

在 MySQL 8.0 修改了验证加解密的方法,但是要求客户端 connector 使用的版本也要 8.0 以上才行,如果数据库的驱动是 5 的,就选下面那个。

image-20220612061302483

配置 Root 的密码

image-20220513115047157

此处会把 MySQL 作为 Windows 的一个服务,服务的名称为 MySQL57,并且这个 MySQL 的服务会随着系统的启动而自动启动。

image-20220513115136221

点击 Execute,执行刚刚填写的配置信息,稍等几分钟。

image-20220513115235417

配置完成以后,点击 Finish。

image-20220513115331788

# 配置 MySQL 路由

点击 Next,进入下一步,配置其他的产品。

image-20220513115408946

这个东西是 MySQL 的路由,官网的解释是,不需要用到 InnoDB 集群模式的话不需要启用,点击 Finish 即可。

MySQL Installer provides a configuration wizard that can bootstrap an installed instance of MySQL Router 8.0 to direct traffic between MySQL applications and an InnoDB Cluster. When configured, MySQL Router runs as a local Windows service.

image-20220513110439879

这里可以参考:https://dev.mysql.com/doc/mysql-installer/en/mysql-installer-workflow-nonserver-products.html (opens new window)

点击 Next 进入下一步,配置其他产品。

image-20220513115614602

输入 root 的密码,测试是否可以正常连接 MySQL。

image-20220513115941043

如果出现红色条,说明用户名和密码不匹配。

image-20220513120055478

点击 Execute 应用配置。

image-20220513120151198

点击 Finish 完成配置。

image-20220513120230212

点击 Next 完成配置。

image-20220513120255188

点击 Finish 完成安装。

image-20220513120351571

关闭自动打开的 MySQL Workbench 和 MySQL Shell,能够打开说明安装成功了。

image-20220513121315519

# 配置环境变量

右键 此电脑,点击属性

image-20220513133601895

在左侧找到”高级系统设置“。

image-20220513133813096

点击高级 --> 环境变量。

image-20220513133901794

在下面的系统变量中点击新建,然后变量名为:MYSQL_HOME

image-20220513134102964

然后在 C:\Program Files\MySQL 下找到 MySQL Server 5.7

image-20220513134232834

如果安装 MySQL 8.0,则文件夹名为【MySQL Server 8.0】。

右键复制路径。

image-20220513134332189

把安装路径填到变量值中。

image-20220513134359561

选中 Path 变量,编辑。

image-20220513134438608

点击新建,值为 %MYSQL_HOME%\bin

image-20220513134526563

添加完成后点击确定。

image-20220513134813570

image-20220513134827098

左下角输入 cmd 打开命令提示符

image-20220513134909515

输入 mysql -uroot -proot,连接测试。

看到以下界面说明配置成功了。

image-20220513135019464

参考资料:

MySQL数据库安装手册 (opens new window)

# 卸载 5.7/8.0 数据库

这里以 8.0 的数据库为例子,由于从 5.7 开始数据库的安装采用了组件化,因此卸载的时候需要一个个组件的卸载,挺蛋疼的。

好在,MySQL 为我们准备了相应的卸载器。

进入目录【C:\Program Files (x86)\MySQL\MySQL Installer for Windows】,双击运行【MySQLInstaller.exe】。

image-20220612062643444

image-20220612062704432

image-20220612062734466

image-20220612062750001

image-20220612062807337

最后,把 MySQL 的安装器也一起卸载。

image-20220612063041730

卸载完成后,可以到【C:\Program Files\MySQL】文件夹是否还存在,如果存在把这个也删掉,就彻底删干净了。

参考文献:

MySQL数据库卸载手册 (opens new window)

# 安装 5.5 数据库

# 下载 MySQL 数据库安装器

镜像地址:https://gitlab.com/samho2008/tool/-/raw/main/mysql/5.5/mysql-5.5.62-winx64.msi (opens new window)

安装包下载地址:https://downloads.mysql.com/archives/community/ (opens new window)

Product Version 选择 5.5.62

image-20220524060317075

系统选择 64 位。

image-20220524060426080

# 安装 MySQL 数据库
# 运行 MySQL 安装包

双击运行下载好的安装包。

image-20220524072046621

# 安装数据库

image-20220524072134454

image-20220524072213222

选择 Custom(自定义安装)

image-20220524072542325

各参数说明如下:

Typical(典型安装)

Installs the most common program features. Recommended for most users.

意思是:安装最常用的程序功能。建议大多数用户使用。

Custom(自定义安装)

Allows uers to choose which program features will be installed and where they will be installed. Recommended for advanced users.

意思是:允许用户选择安装的程序功能和安装的位置,建议高级用户使用。

Complete(完全安装)

All program features will be installed. Requires the most disk space.

意思是:将安装所有的程序功能,需要最多的磁盘空间。

image-20220524072817100

可以看到 Documentation 旁边有个【X】的按钮,表示这个组件不会被安装。

带有 image-20220524073015499 图标的都是默认安装到本地硬盘上的。

其他部分详解:

Development Components(开发者部分):

用左键单击向下的小箭头选择【Entire feature will be installed on local hard drive】

意思是:即此部分,以及下属子部分内容全部安装在本地硬盘上。

MySQL Server(MySQL 服务器):照上面的做。

Client Programs(MySQL 客户端程序):照上面的做。

Documentation(文档) :照上面的做。

Server data files(服务器数据文件):照上面的做。

这样操作,以保证安装所有文件。

image-20220524074042951

等待数据库安装完成。

image-20220524074136579

# 配置数据库

接下来,需要进行数据库的配置。

在上一步安装完成后,会自动打开这个界面,如果上一步没有勾选或者关闭了配置界面,可以在【C:\Program Files\MySQL\MySQL Server 5.5\bin\MySQLInstanceConfig.exe】中重新打开。

image-20220524074232263

image-20220524074249268

image-20220524074308787

image-20220524074837098

image-20220524074911147

image-20220524081144684

image-20220524080314960

使用 UTF8 作为默认的数据库编码,不过这里不指定为 UTF8,使用默认的 Latin1 也没关系,创建数据库的时候也可以单独去指定。

image-20220524081247729

这里需要勾选以下,把数据库配置到环境变量中,这样可以在任意目录下执行数据库的相关命令。

image-20220524081413656

root 密码统一设置成 123456,避免忘记。

image-20220524081511552

image-20220524081532961

等待自动配置完成。

image-20220524081559543

# 连接数据库

点击左下角开始菜单,点击【命令提示符】。

image-20220524081847647

输入命令【mysql -uroot -p123456】

看到以下界面说明连接成功了。

image-20220524081926459

# 卸载 MySQL 5.5 数据库

# 停止 MySQL 服务

MySQL 运行的时候是无法删除的,因此需要先停止。

开始菜单中输入【service】,选择【服务】,找到【MySQL】,点击【停止此服务】。

image-20220612055424024

下载 Geek Uninstaller,这个软件删的比较干净,可以把注册表也一起删掉。

image-20220612055645631

image-20220612055704192

卸载完成之后,把软件检测出来的残留痕迹也删除。

image-20220612055727793

参考资料:

Mysql5.5下载安装 (opens new window)

Mysql 5.5.21详细安装教程 (opens new window)

# 在 Linux 系统上安装 MySQL 数据库

# 查看 Linux 操作系统版本和系统内核版本

稍后下载安装包的时候需要用到这些信息

[root@localhost ~]# cat /etc/redhat-release 
CentOS Linux release 7.5.1804 (Core) 
[root@localhost ~]# uname -r
3.10.0-862.el7.x86_64

# 下载 MySQL 数据库安装包

打开 MySQL 下载网址:https://downloads.mysql.com/archives/community/ (opens new window)

点击下拉框 Product Version:选择你要下载的 MySQL 版本

点击下拉框 Operating System:操作系统类型

点击下拉框 OS Version:操作系统版本

CentOS 也是选择 Red Hat Enterprise Linux,因为 CentOS 是红帽公司的产品。

image-20220418130553721

建议选择下载 RPM Bundle,这个是完整的安装包。

也可以细化下载具体需要的 MySQL 组件,如:MySQL Server、Client Utilities、Development Libraries等

可以先在本机下载下来,然后上传至服务器。

(推荐)如果服务器可以访问外网,也可以直接在服务器上下载,一般来说在服务器下载会比较快。

点击 Download 按钮,右键点击复制链接地址,获取下载地址。

https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.36-1.el7.x86_64.rpm-bundle.tar (opens new window)

image-20220418131508125

在服务器上执行,下载 MySQL 安装包至 【/usr/local/src】 下

wget -P /usr/local/src https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.36-1.el7.x86_64.rpm-bundle.tar

如果提示:-bash: wget: 未找到命令,说明系统是最小化安装的,没有 wget 命令,需要先下载 wget。

yum -y install wget

# 解压 MySQL 安装包

把【mysql-5.7.36-1.el7.x86_64.rpm-bundle.tar】换成下载后的安装包名字

cd /usr/local/src
mkdir mysql
tar -xvf mysql-5.7.36-1.el7.x86_64.rpm-bundle.tar -C ./mysql

# 卸载系统自带的安装包(重要,记得卸载)

由于操作系统会自带 MySQL/MariaDB 的安装包,要把自带的先删除掉,否则安装的时候会冲突。

有的系统是自带 MySQL 的安装包,有的是自带 MariaDB 的,最好都看一下。

rpm -qa | grep mariadb
rpm -qa | grep mysql

移除掉系统已安装好的依赖包,根据搜出来的删除,一般是:mariadb-libs-5.5.56-2.el7.x86_64

yum -y remove mariadb-libs

还有另外一种方法,通过 RPM 来卸载。

# 格式:rpm -e --nodeps 要卸载的包名称
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64

# 检查是否已安装 MySQL 的系统依赖

一键安装 MySQL 依赖:

yum -y install libaio perl net-tools

# libaio

MySQL 依赖 libaio,所以要先安装 libaio,我们通过以下命令查看是否已安装。

rpm -qa | grep libaio

如果没有的话,通过 yum 安装一下。

yum -y install libaio

# perl

MySQL 依赖 perl,所以要先安装 perl,我们通过以下命令查看是否已安装。

rpm -qa | grep perl

如果没有的话,通过 yum 安装一下。

yum -y install perl

# net-tools

MySQL 依赖 net-tools,所以要先安装 net-tools,我们通过以下命令查看是否已安装。

rpm -qa | grep net-tools

如果没有的话,通过 yum 安装一下。

yum -y install net-tools

# 安装 MySQL 组件

使用命令 rpm -ivh xxx 进行安装操作。

  • i:install,表示安装
  • v:verbose,显示进度条
  • h:hash,对安装包进行哈希校验

按照依赖关系依次按顺序安装 rpm 包,依赖关系依次为 common → libs → client → server

cd /usr/local/src/mysql
rpm -ivh mysql-community-common-5.7.36-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.36-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.36-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.36-1.el7.x86_64.rpm

# 安装 libs 组件报错

如果安装 libs 时报错,说明没有卸载系统自带的 mariadb-libs,需要先 卸载系统自带的安装包

[root@localhost mysql]# rpm -ivh mysql-community-libs-5.7.36-1.el7.x86_64.rpm 
警告:mysql-community-libs-5.7.36-1.el7.x86_64.rpm: 头V3 DSA/SHA256 Signature, 密钥 ID 5072e1f5: NOKEY
错误:依赖检测失败:
	mysql-community-common(x86-64) >= 5.7.9 被 mysql-community-libs-5.7.36-1.el7.x86_64 需要
	mariadb-libs 被 mysql-community-libs-5.7.36-1.el7.x86_64 取代

如果卸载后再次安装 libs 时候仍然报错,这是因为之前没有删除自带的安装包,然后直接安装的 common 组件,导致安装的 common 组件是针对于系统自带的版本的,需要再次执行命令进行升级:rpm -ivh mysql-community-common-5.7.36-1.el7.x86_64.rpm

[root@localhost mysql]# rpm -ivh mysql-community-libs-5.7.36-1.el7.x86_64.rpm
警告:mysql-community-libs-5.7.36-1.el7.x86_64.rpm: 头V3 DSA/SHA256 Signature, 密钥 ID 5072e1f5: NOKEY
错误:依赖检测失败:
	mysql-community-common(x86-64) >= 5.7.9 被 mysql-community-libs-5.7.36-1.el7.x86_64 需要

# 安装 server 组件报错

这是因为缺少 MySQL 所需要的系统依赖,需要先 [安装 MySQL 的系统依赖](#检查是否已安装 MySQL 的系统依赖)

[root@localhost mysql]# rpm -ivh mysql-community-server-5.7.36-1.el7.x86_64.rpm 
警告:mysql-community-server-5.7.36-1.el7.x86_64.rpm: 头V3 DSA/SHA256 Signature, 密钥 ID 5072e1f5: NOKEY
错误:依赖检测失败:
	/usr/bin/perl 被 mysql-community-server-5.7.36-1.el7.x86_64 需要
	net-tools 被 mysql-community-server-5.7.36-1.el7.x86_64 需要
	perl(Getopt::Long) 被 mysql-community-server-5.7.36-1.el7.x86_64 需要
	perl(strict) 被 mysql-community-server-5.7.36-1.el7.x86_64 需要

# 登录并创建 MySQL 密码

# 启动 MySQL

安装完后,使用命令 service mysqld startsystemctl start mysqld.service 启动 MySQL 服务。(如果 MySQL 服务无法启动,就 reboot 重启下系统)

# 启动 MySQL
systemctl start mysqld
# 设置开机自动启动 MySQL
systemctl enable mysqld
# 查看 MySQL 状态
systemctl status mysqld
# 查看 MySQL 进程
ps -ef | grep mysql | grep -v grep
# 查看 3306 端口
netstat -anop | grep 3306

# 登录 MySQL

由于 MySQL 5.7.4 之前的版本中默认是没有密码的,登录后直接回车就可以进入数据库,进而进行设置密码等操作。其后版本对密码等安全相关操作进行了一些改变,在安装过程中,会在安装日志中生成一个临时密码。

怎么找到这个临时密码呢?

执行以下命令,在日志中搜索临时密码:

grep 'temporary password' /var/log/mysqld.log

执行结果:

[root@localhost mysql]# grep 'temporary password' /var/log/mysqld.log
2022-04-18T18:39:19.402451Z 1 [Note] A temporary password is generated for root@localhost: keji#VI,;95x

说明生成的临时密码是:keji#VI,;95x

使用生成的临时密码登录至数据库,由于生成的临时密码会包含一些特殊符号,需要给密码两边添加上英文半角的单引号 '',由于临时密码我们随后会进行修改,所以这里直接在控制台暴露密码也不会有安全问题。

mysql -uroot -p'keji#VI,;95x'

# 修改 root 密码

假设把密码修改为 root,生产环境请勿使用 root 作为密码 !!!

ALTER USER root@localhost IDENTIFIED BY 'root';

在 MySQL 5.6 后,MySQL 内置密码增强机制,低强度密码会报错(也可以直接使用强度更高的密码解决):

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

这个其实与 validate_password_policy 的值有关:

Policy Tests Performed 解释
0 or LOW Length 密码只有长度的限制
1 or MEDIUM Length; numeric, lowercase/uppercase, and special characters 密码包括:长度限制、数字、小写字母、大写字母、特殊字符
2 or STRONG Length; numeric, lowercase/uppercase, and special characters; dictionary file 密码包括:长度限制、数字、小写字母、大写字母、特殊字符,并且这个密码不能在 MySQL 中的弱密码字典中出现。

默认是 1,即 MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。

解决方案如下:

  1. 更改策略,修改密码强度为弱,只有密码长度限制。

    set global validate_password_policy=0;
    
  2. 修改密码的最短长度为 4

    set global validate_password_length=4;
    

    不管设置 validate_password_length=1,还是 2、3、4,这个参数的实际值都是4(因为 MySQL 强制规定密码最短为 4 位)。超过 4 后设置是多少实际就是多少。

  3. 再次执行修改密码命令(假设把密码修改为 root)

    ALTER USER root@localhost IDENTIFIED BY 'root';
    

# 开启 MySQL 远程访问

这里 identified by 'root' 中的 root 需要替换成你修改后的新的密码

grant all privileges on *.* to 'root'@'%' identified by 'root';
flush privileges;
quit;

MySQL 中可以给一个用户授予如 select,insert,update,delete 等其中的一个或者多个权限,主要使用 grant 命令,用法格式为: grant 权限 on 数据库对象 to 用户 一、grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。 grant select on testdb.* to common_user@'%' grant insert on testdb.* to common_user@'%' grant update on testdb.* to common_user@'%' grant delete on testdb.* to common_user@'%' 或者,用一条 MySQL 命令来替代: grant select, insert, update, delete on testdb.* to common_user@'%'

查看防火墙是否开启:

systemctl status firewalld

如果看到绿色的小圆点或者 Active: active (running),说明防火墙是运行状态,需要先关闭防火墙或者放行 3306 端口。

关闭防火墙:

systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld

或者,单独放行 3306 端口(看到 success 说明执行成功)

firewall-cmd --zone=public --add-port=3306/tcp --permanent

重启防火墙,重启后才可以生效(看到 success 说明执行成功)

firewall-cmd --reload

如果使用的是云服务器(比如:腾讯云,阿里云等)还需要在云防火墙中放行端口才能正常访问!!!

# 使用可视化工具远程连接至数据库进行测试

这里以 Navicat 为例子。

连接名:只用于在 Navicat 中显示用,叫什么都可以。

主机名或 IP 地址:填写你的服务器 IP 地址

端口:默认是 3306

用户名:默认是 root

密码:输入在上面设置的 root 的密码

填写完毕后点击连接测试查看是否能连接上去。

image-20220419063438015

# 关闭 binlog 日志

新版本已经默认关闭 binlog 日志了,保险起见还是检查下。

执行以下 SQL 语句,看到 OFF 说明已经关闭了。

SHOW VARIABLES LIKE 'log_bin';

# 开启 binlog 日志(可选)

主从同步的时候,需要用到 binlog 日志,此时必须开启。

vi /etc/my.cnf

[mysqld] 下添加以下内容:

# binlog 文件名,格式为:mysql-bin.00000*,从 1 开始递增
log-bin=mysql-bin
# binlog 日志保留天数
expire-logs-days=7
# binlog 日志有三种格式,分别是 Statement、mixed、ROW
binlog-format=ROW
# 服务器 id,主从同步的时候才使用到,如果需要建议改为 IP 地址的最后一段
# 比如:10.2.52.128,则 server-id 设为 128
server-id=1

日志默认存放在:/var/lib/mysql

重启 MySQL 服务:

systemctl restart mysqld

执行 SQL 语句,查看是否开启成功。出现 ON 说明开启成功:

show variables like 'log_bin';

在 MySQL 中,也可以通过 SELECT VERSION(); 的方式查询,如果开启了日志,在版本号后面会有 -log 的标识,如:5.7.36-log

如果没有开启,查询出来就是 5.7.36

查询其他参数,如:

生成出来的日志名字前缀(log_bin_basename)

日志索引文件(log_bin_index)

SHOW VARIABLES LIKE '%log_bin%';

# MySQL 文件目录说明

安装完 MySQL 的 server 组件后,会生成几个 MySQL 的文件夹和目录:

在 /etc 下生成 my.cnf 文件和 my.cnf.d 文件夹

ls -l /etc/my.cnf
ls -l /etc/my.cnf.d

在 /var/lib 下生成以下三个文件夹

ls -l /var/lib/mysql
ls -l /var/lib/mysql-files
ls -l /var/lib/mysql-keyring

在 /var/log 下生成 mysqld.log 文件

ls -l /var/log/mysqld.log

在 /var/run 下生成 mysqld 目录

ls -l /var/run/mysqld

# MySQL 默认数据库说明

安装好数据库后,默认会有几个系统自带的库:information_schema、mysql、performance_schema、sys,这些是 MySQL 需要用到的库,不要删除,否则会导致 MySQL 无法正常工作!

# 卸载 MySQL 数据库

有的时候,因为一些特殊原因,我们需要把 MySQL 卸载掉,那么,需要怎么操作呢?

# 查询已安装的 MySQL 包

rpm -qa | grep mysql

# 卸载 MySQL 软件包

yum -y remove mysql*

# 卸载 MySQL 目录

# 查找所有 MySQL 的相关安装目录
find / -name mysql

执行结果:

[root@localhost mysql]# find / -name mysql
/etc/selinux/targeted/active/modules/100/mysql
/var/lib/mysql
/var/lib/mysql/mysql
/usr/lib64/mysql
/usr/share/mysql
/usr/local/src/mysql
# 删除查询出来的目录
rm -rf /etc/selinux/targeted/active/modules/100/mysql
rm -rf /var/lib/mysql
rm -rf /var/lib/mysql/mysql
rm -rf /usr/lib64/mysql
rm -rf /usr/share/mysql
rm -rf /usr/local/src/mysql
# 删除 MySQL 日志
rm -rf /var/log/mysqld.log
# 卸载 MySQL 配置文件
rm -rf /etc/my.cnf
# 删除 MySQL 默认密码
rm -rf /root/.mysql_history
rm -rf /root/mysql_secret

参考资料:

centos7下安装mysql5.7(rpm) (opens new window)

安装MySQL报错 : Your password does not satisfy the current policy requirements (opens new window)

Linux安装MariaDB数据库 (opens new window)

MySQL(1)CentOS彻底卸载MySQL (opens new window)