Linux 安装、配置、卸载 MySQL

前言

1、环境配置

环境配置 版本信息
Linux CentOS release 7.8.2003 (Core)
MySQL 5.7.30

2、安装方式

CentOS 安装 MySQL 的方式主要有两种:

  • yum 安装(在线安装)
    • 优点:方便快捷,可以自动解决软件包的依赖关系。
    • 缺点:需要联网,无法人为干预,不能自定义安装。
  • rpm 安装(离线安装)
    • 优点:无需联网,可以自行选择需要的包进行安装。
    • 缺点:无法解决软件包的依赖关系,需要手动操作。

yum 与 rpm 两种安装方式各有优劣,实际部署中可根据情况进行选择,就安装结果而言都是相同的。
 

一、安装准备

 
无论采用哪种方式安装 mysql,必须先检查系统中是否留有老版本或其他冲突版本,有的话必须干掉,如果没有可以跳过该步骤。

1、卸载旧版本 MySQL

查看 mysql 安装信息

rpm -qa | grep mysql

查看 mysql 安装信息
查看 mysql 状态

service mysql status

停止 mysql 服务

service mysql stop

rpm 卸载 mysql 相关组件
由于依赖关系,需要按照顺序卸载,否则会报错
rpm 卸载顺序为:server >> client >> libs >> common

rpm -ev mysql-community-server-5.6.48-1.el7.x86_64
rpm -ev mysql-community-client-5.6.48-1.el7.x86_64
rpm -ev mysql-community-libs-5.6.48-1.el7.x86_64
rpm -ev mysql-community-common-5.6.48-1.el7.x86_64

这里也可以使用 yum 方式卸载
yum -y remove 一键卸载,可以自动解决依赖关系,更加方便
但也因为 yum remove 会将所有相关的依赖包都一并删除,所以该命令要慎用

yum -y remove mysql

卸载完成后,查找 mysql 相关程序和文件

whereis mysql

查找 mysql 相关程序

find / -name mysql

查找 mysql 相关文件
删除 mysql 相关程序和文件

rm -rf /var/lib/mysql
rm -rf /usr/bin/mysql
rm -rf /usr/lib64/mysql
rm -rf /usr/share/mysql
rm -rf /usr/share/man/man1/mysql.1.gz

删除 mysql 配置文件 /etc/my.cnf

rm -rf /etc/my.cnf

最后,再次查找 mysql 相关信息

rpm -qa | grep mysql
whereis mysql
find / -name mysql

无结果,说明 mysql 已经彻底卸载和删除~

2、CentOS 7 卸载 MariaDB

在 CentOS 7 下,默认安装的数据库为 MariaDB(实际上是 MySQL 的一个分支),如果要安装 MySQL 需要先将其卸载,毕竟一山不能容二虎。。。

查看 mariadb 安装信息

rpm -qa | grep mariadb

查看 mariadb 安装信息
强制卸载 mariadb(–nodeps 忽略依赖关系强制执行)

rpm -e --nodeps mariadb-libs-5.5.65-1.el7.x86_64

卸载完成,万事俱备,接下来就可以安装 mysql 船新版本啦~
 

二、YUM 安装

 
YUM,全称为 Yellow dog Updater,Modified,是一个在 Fedora 和 RedHat 以及 SUSE、CentOS 中的 Shell 前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次性安装所有依赖的软件包,无须繁琐地一次次下载、安装。

1、安装 wget 工具

yum -y install wget

2、下载 MySQL 源

wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm

3、安装 MySQL 源

rpm -ivh mysql57-community-release-el7-10.noarch.rpm

4、Yum 安装 MySQL

yum -y install mysql-server

安装过程中 yum 会自动检测依赖包下载安装,等待安装完成即可,网速慢可能要等很久(yum 安装的缺点)。
 

三、RPM 安装

 
RPM 是 Red-Hat Package Manager(RPM 软件包管理器)的缩写,原本是 Red Hat Linux 发行版专门用来管理 Linux 各项套件的程序,由于它遵循 GPL 规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM 套件管理方式的出现,让 Linux 易于安装,升级,间接提升了 Linux 的适用度。

1、官网下载安装包

下载地址:https://dev.mysql.com/downloads/mysql/
下载地址
选择对应的 linux 系统和 x86 版本进行下载
Bundle
使用 wget 下载或者将下载好的文件直接上传到系统中

wget https://dev.mysql.com//Downloads/MySQL-5.7/mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar

也可以细化下载,只下载需要的 mysql 组件,有 4 个:server、client、common、libs
下载组件

2、RPM 安装 MySQL

解压 mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar

tar -xvf mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar

按照依赖关系依次安装 rpm 包
rpm 安装顺序为:common >> libs >> client >> server(与 rpm 卸载顺序相反)

rpm -ivh mysql-community-common-5.7.30-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.30-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.30-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.30-1.el7.x86_64.rpm

在安装 server 组件时可能会报依赖错误,需要根据错误提示下载安装对应的依赖包(rpm 安装的缺点)
Failed dependencied

yum -y install net-tools.x86_64
yum -y install perl.x86_64

安装完成
安装完成
 

四、配置 MySQL

1、启动 MySQL 并设置开机自启

启动 mysql 服务

systemctl start mysqld

设置 mysql 开启自启

systemctl enable mysqld

查看 mysql 运行状态

systemctl status mysqld

查看 mysql 运行状态

2、登录 MySQL 并修改 root 密码

mysql 5.7.4 之前的版本中默认是没有初始密码的,登录时直接回车就可以进入数据库。而之后的版本对密码策略等安全相关操作进行了一些升级,在安装过程中,mysql 会在日志中生成一个临时登录密码。

获取临时密码

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

临时密码
可以看到 W)OcyMlBn3sl 即为随机生成的临时登录密码。使用该密码登录 mysql,输入命令:

mysql -uroot -p'W)OcyMlBn3sl'

登录成功,啦啦啦~
登录成功
修改登录密码

mysql> set password for 'root'@'localhost'=password('你自己的密码');

mysql> alter user root@localhost identified by '你自己的密码';

若你将密码设置得过短或者过于简单,mysql 会报错:
修改密码失败
这是因为 mysql 5.7 安装了密码安全检查插件(validate_password)
默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于 8 位。
如果不满足要求就会提示错误:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

解决方案如下:

step 1:更改有效密码策略

mysql> set global validate_password_policy=0;

此时,新密码长度大于等于 8 位才有效,否则报错。

step 2:更改有效密码长度

mysql> set global validate_password_length=1;

validate_password_length 的有效值最低为 4,当设置的值小于 4 时,实际生效的值依然为 4。当设置的值超过 4 时,才为用户设定值。即密码长度最低为 4 位。

step 3:重新设定密码

mysql> set password for root@localhost=password('1234');

修改密码成功

3、授予 root 用户远程访问权限

mysql 安装完成之后,root 账号只允许在本地登陆,如果想要远程访问,需要授予权限。

mysql> grant all privileges on *.* to 'root' @'%' identified by '1234';

刷新权限,使设置生效。

mysql> flush privileges;

4、修改 MySQL 默认编码为 UTF-8

查看 mysql 默认编码,可以看到有两个不是 utf8,这你能忍?

mysql> show variables like '%character%';

查看 mysql 默认编码
修改配置文件 /etc/my.cnf,在 [mysqld] 下添加如下配置:

character-set-server=utf8
init_connect='set names utf8'

修改 mysql 默认编码为 utf-8
修改配置后需要重启服务

systemctl restart mysqld

登录 mysql 再次查看编码,咳咳咳~
查看 mysql 修改编码
 

五、MySQL 相关整理

1、mysql 常用命令

功能 命令
启动 mysql 服务 systemctl start mysqld
关闭 mysql 服务 systemctl stop mysqld
重启 mysql 服务 systemctl restart mysqld
查看 mysql 状态 systemctl status mysqld
登录 mysql mysql -uroot -p

2、mysql 文件路径

mysql 文件 文件路径
配置文件 /etc/my.cnf
日志文件 /var/log//var/log/mysqld.log
服务启动脚本 /usr/lib/systemd/system/mysqld.service
socket /var/run/mysqld/mysqld.pid

猜你喜欢

转载自blog.csdn.net/GodSuzzZ/article/details/106131956