✨个人主页:****北 海
🎉所属专栏:****MySQL 学习
🎃操作环境:****CentOS 7.6 腾讯云远程服务器
🎁软件版本:****MySQL 5.7.44
文章目录
**注意: 为了避免权限不足的问题,建议切换至
root
用户进行安装**
1.MySQL 的清理与安装
1.1查看是否存在 MySQL 服务
在安装
MySQL
前,需要先看看自己的服务器中是否存在
MySQL
服务,可以使用
ps-ajx|grep mysql*
查询是否有相关服务正在运行,如果出现下图所示,就说明已存在
MySQL
服务
此时可以选择卸载原有服务,重新安装,也可以选择直接使用(如果可用的情况下);但如果服务器中没有
MySQL
相关服务,就可以跟着我的教程安装
1.2.卸载原有服务
首先需要终止正在运行的
MySQL
服务
systemctl stop mysqld
终止服务后,再次查询
MySQL
服务,如果没有看到,就说明终止成功了
备份重要信息(如果之前有人用过
MySQL
的话),没用过就可以跳过这一步
首先是备份
my.cnf
文件,这是
MySQL
的配置文件,位于
/etc/my.cnf
mkdir ~/TMP
cp /etc/my.cnf ~/TMP/
其次是备份
mysql
这个文件夹,里面包含了之前用户操作过的数据库信息
cp-r /var/lib/mysql ~/TMP/
注意:后续安装好后,可以把这两个备份文件(夹)恢复至原来的路径中
卸载这些系统安装包
yum remove mysql
1.3.获取官方的 yum 源
如果你的系统是
CentOS 7.6
,可以直接通过这个链接下载:适用于 CentOS 7.6
否则可以去官方提供的网站中寻找与自己版本相匹配的
yum
源:官方提供的下载网站
将后缀为
.rpm
的文件下载好后,可以通过文件上传工具将文件传至服务器,比如
rz
rz
输入指令后选择下载好的文件上传即可
注:**
rz
是一款工具,如果没有的话需要通过
yum
下载,并且需要在
XShell
中使用**
安装
MySQL
的
yum
源
rpm-Uvh 下载好的文件名
查看
yum
源是否成功安装
ls-l /etc/yum.repos.d/
存在这两个文件,就证明成功了,安装
yum
源 完成后,可以将这个文件删除
查看
MySQL
的
yum
源是否成功工作
yum list |grep mysql-community*
出现很多
mysql
相关的安装包,就证明可以成功工作
1.4.下载 MySQL 服务
yum install-y mysql-community-server
这条指令可能会执行失败,原因是 密钥过期了,可以使用以下语句更新密钥
rpm--import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
静待安装完成
1.5.验证是否下载完成
查看
/etc/
目录下是否存在
my.cnf
配置文件
ls /etc/my.cnf
查看是否存在
MySQL
存放数据的目录
ls /var/lib/mysql
注:部分文件为之前残留的数据库
2.MySQL 的配置与启动
2.1.启动服务
通过指令启动
MySQL
服务,
MySQL
默认使用的端口是
3306
,启动之前要确保
3306
端口处于开启状态
systemctl start mysqld
2.2.登录 MySQL
登录
MySQL
默认是需要密码,当前版本的
MySQL
刚开始会设置一个临时密码,可以通过指令获取,如果获取失败,可以跳转至本文最后一部分 [3.2无法登录 MySQL]
获取临时密码
grep'temporary password' /var/log/mysqld.log
注意:**获取临时密码的前提是
MySQL
服务已经启动过**
获取临时密码后,就可以登录
MySQL
了
mysql -u root -p
回车后,输入 临时密码,如果登录失败,可跳转至 [3.2无法登录 MySQL]
注意:**
MySQL
中默认只有
root
用户,所以需要以
root
身份登录**
出现此页面证明登录成功,可以进行密码修改
2.3.修改密码
注意:**在
MySQL
中输入的语句都要以
;
结尾,表示输入语句结束**
为了方便后续使用,这里直接把密码等级设为最低,如果输入指令报错,可以跳转至 [3.3.无法修改密码规则]
修改密码强度(可以单纯为数字)
setglobal validate_password_policy=0;
修改密码最小长度
setglobal validate_password_length=1;
修改当前用户
root
的登录密码,其中的
localhost
表示只允许登录主机本地;如果设置
123456
等简单密码失败,说明是密码规则没有修改成功,过于简单的密码不允许设置,可以重新登录
MySQL
,重复上面的步骤
ALTERUSER'root'@'localhost' IDENTIFIED BY'123456';
刷新权限,
MySQL
中有很多权限的概念,现在可以先不用管
FLUSH PRIVILEGES;
修改完成后,可以使用新密码登录
MySQL
注:**输入
quit
退出
MySQL
**
2.4.修改配置文件
MySQL
服务启动时,会先从配置文件中读取配置信息,比如 端口号、文件存储位置、存储引擎等,配置文件
my.cnf
位于
/etc/
目录中,首先打开配置文件
vim /etc/my.cnf
设置端口号为
3306
,也可以根据自己的需求进行设置
port=3306
设置数据库文件存储路径,默认为
/var/lib/mysql
datadir=/var/lib/mysql
设置默认编码格式,后续在创建数据库时,如未指定编码,则使用配置文件中的默认编码
character-set-server=utf8
设置默认存储引擎,一般都是使用
InnoDB
,因为它支持 索引、事务 等特性
default-storage-engine=innodb
如果无法退出
vim
,可以尝试
wq!
强行保存并退出
设置完配置文件后,都需要重启
MySQL
服务,确保配置信息及时更新
systemctl restart mysqld
接下来就可以尝试使用
MySQL
了
3.可能遇到的问题
下面是一些常见的问题
3.1.无法通过 yum 下载
通过
yum
下载
MySQL
时提示
Failing package is: mysql-community-client-5.7.44-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
3.2.无法登录 MySQL
如果无法登录
MySQL
(即便是密码忘记了),可以直接修改配置文件
打开
my.cnf
vim /etc/my.cnf
在文件末尾加上以下语句
skip-grant-tables
添加完成后,保存并退出,然后重启
MySQL
服务
systemctl restart mysqld
此时再次登录
MySQL
时,随便输入密码或者直接回车,都能正常登录,这是因为 跳过了密码验证
进入
MySQL
后可以手动修改
root
密码,如果想重新启用登录时密码验证,直接去除
my.cnf
中的
skip-grant-tables
就行了
3.3.无法退出 MySQL
MySQL
客户端本质上就是一个进程,可以直接通过
ctrl + d
发送信号终止进程,这种退出方式常用于客户端卡死的情况
键盘键入 ctrl + d
也可以输入
quit
退出客户端
quit
像这种命令在
MySQL
中输入时,可以不用加
;
号,这是一种正常退出的方式
3.4.无法修改密码规则
问题描述:输入修改密码规则相关语句报错
报错描述
ERROR 1193(HY000): Unknown system variable 'validate_password_policy'
或者
ERROR 1193(HY000): Unknown system variable 'validate_password_length'
报错原因:**当前的
MySQL
中缺少相关变量**
查询相关变量,结果为空
show variables like'validate_password%';
解决方法:在配置文件中添加相关环境变量
打开
my.cnf
vim /etc/my.cnf
在配置文件的末尾加上以下语句
plugin-load-add=validate_password.so
validate-password=FORCE_PLUS_PERMANENT
添加完成后,**重启
MySQL
服务**
systemctl restart mysqld
重启完成后,重新登录
MySQL
,输入语句查看密码规则相关变量信息,能显示信息就证明问题已经解决了
show variables like'validate_password%';
接下来输入语句修改密码规则
setglobal validate_password_policy=0;setglobal validate_password_length=1;
可以看到已经修改成功了,问题解决
版权归原作者 北 海 所有, 如有侵权,请联系我们删除。