数据库研究
该系列文章主要是用来学习研究数据库相关知识,并根据学习知识做记录
数据库环境搭建
前言
数据库环境搭建;
在Centos 8 上搭建Mysql 环境
一、环境搭建
环境需要的CentOs 版本和Mysql 版本以及下载目录
环境 | 版本 |
CentoS | CentOS-8.5.2111-x86_64-dvd1 |
MySql | mysql80-community-release-el8-1.noarch.rpm |
下载地址
CentoS 官网 CentoS官网
MySql 地址 Mysql官网
二、安装步骤
1.卸载Mysql 安装残留
1.1 首先用xshell远程连接到服务器
1.2 如果服务器之前安装过mysql请先卸载,我这里是用yum安装的,现在通过yum去卸载
操作步骤如下:
yum remove -y mysql find / -name mysql //找到残留的文件,再通过rm -rf去删除对应的文件
2 安装Mysql
2.1 下载安装包
操作步骤如下:
wget https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm yum install mysql80-community-release-el8-1.noarch.rpm
正确环境如下
2.2 检查数据源
查看mysql源是否安装成功:yum repolist enabled | grep "mysql.*-community.*"
查询结果
2.3 禁用CentOs 自带的Mysql
如果出现No match for argument: mysql-community-server
可执行 yum module disable mysql命令
yum module disable mysql // 禁用命令
执行结果
2.4 安装MySql
yum install mysql-community-server Is this ok [y/Y] 一直 y到底
2.5启动Mysql
启动的时候注意
启动命令
/bin/systemctl start mysqld.service//启动命令 service mysqld status //
2.6 修改mysql 密码
首先要获取mysql 原始密码
grep "password" /var/log/mysqld.log
2.7 登录
mysql -u root -p //输入上面生成的密码
2.8 修改原始密码
修改密码 一定要先修改默认密码为: Root_21root 满足它的策略,再进行下面的操作: mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root_root2'; Query OK, 0 rows affected (0.01 sec) mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; ERROR 1819 (HY000): Your password does not satisfy the current policy requirements //查看密码策略 mysql> SHOW VARIABLES LIKE 'validate_password%'; +--------------------------------------+--------+ | Variable_name | Value | +--------------------------------------+--------+ | validate_password.check_user_name | ON | | validate_password.dictionary_file | | | validate_password.length | 8 | | validate_password.mixed_case_count | 1 | | validate_password.number_count | 1 | | validate_password.policy | MEDIUM | | validate_password.special_char_count | 1 | +--------------------------------------+--------+ 7 rows in set (0.02 sec) // 修改密码长度: mysql> set global validate_password.length=1; Query OK, 0 rows affected (0.00 sec) //修改密码等级: mysql> set global validate_password.policy=0; Query OK, 0 rows affected (0.00 sec) // 设置成自己想要的密码: mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; Query OK, 0 rows affected (0.00 sec) // 修改后策略 mysql> SHOW VARIABLES LIKE 'validate_password%'; +--------------------------------------+-------+ | Variable_name | Value | +--------------------------------------+-------+ | validate_password.check_user_name | ON | | validate_password.dictionary_file | | | validate_password.length | 4 | | validate_password.mixed_case_count | 1 | | validate_password.number_count | 1 | | validate_password.policy | LOW | | validate_password.special_char_count | 1 | +--------------------------------------+-------+ 7 rows in set (0.00 sec)
2.9 Mysql开放远程访问
创建用户
create user 'root'@'%' identified by 'root123'; //1、先创建权限记录 grant all privileges on *.* to 'root'@'%' with grant option; //2、授权 FLUSH PRIVILEGES; // 刷新权限
2.错误解决
代码如下(示例):
1. 错误
错误 [root@localhost linux]# yum install mysql80-community-release-el8-1.noarch.rpm Last metadata expiration check: 1:05:13 ago on Wed 12 Jan 2022 05:44:38 AM PST. Error: Problem: package mysql80-community-release-el8-1.noarch conflicts with mysql57-community-release provided by mysql57-community-release-el7-10.noarch - conflicting requests - problem with installed package mysql57-community-release-el7-10.noarch (try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages) 解决 [root@localhost linux]# rpm -qa |grep mysql mysql57-community-release-el7-10.noarch [root@localhost linux]# rpm -e --nodeps mysql57-community-release-el7-10.noarch [root@localhost linux]#
2. 错误
开启权限,为了navicat能够访问到此mysql(开启远程访问)
使用Navicat Premium 12连接高版本的MySQL数据库时会出现Authentication plugin ‘caching_sha2_password’ cannot be loaded的错误。
use mysql //查看用户的密码规则,及对应host select user, host, plugin from user; //修改加密规则和密码 注意:下面的 % 是对应上图的host) ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '替换成你的密码'; FLUSH PRIVILEGES;//这个一定要执行,执行命令使权限配置项立即生效。
注意 mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password
三、总结
Mysql 安装的时候注意细节
参考
MySQL 连接出现 Authentication plugin ‘caching_sha2_password‘ cannot be loaded 的解决