mysql8.3安装与配置
作者:mmseoamin日期:2024-02-20

mysql8.3 安装部署

1.下载MySQL

进入安装目录,可自由选择,我选择安装在usr/local目录下,新建mysql文件夹,后续在此安装

cd /usr/local
mkdir mysql
cd mysql

安装rpm包

wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

如果提示wget命令不存在,先执行

yum -y install wget
下载后ls查看,多了一个rpm文件。

然后安装MySQL安装源

yum -y localinstall mysql57-community-release-el7-11.noarch.rpm

2.在线安装MySQL

yum -y install mysql-community-server

下载东西会有点多,需等待一会儿。

如果提示

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

则这样安装,忽略GPG检查

yum -y install mysql-community-server --nogpgcheck

3.启动MySQL

systemctl start mysqld

设置开机启动

systemctl enable mysqld
systemctl daemon-reload

4.配置MySQL

修改MySQL密码,首先查看初始密码

vim /var/log/mysqld.log

使用此密码进入MySQL

mysql -u root -p
Enter password:

修改密码, mysql默认密码策略要求密码必须是大小写字母数字特殊字母的组合,至少8位,先修改允许简单密码。

在mysql>环境下,输入以下指令

由于mysql首次必须设置密码,且只能设置复杂密码,所以先随便设置一个:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'G%U_SmD?k4w0';

然后查看用户变量:

SHOW VARIABLES LIKE 'validate_password%';
有些版本较低或未进行全部插件安装的MySQL,会发现如下情况:
Empty set (0.00 sec)
那么请执行如下命令安装即可:
install plugin validate_password soname 'validate_password.so';

查看后若出现如下:

我的value已修改过了!
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password.check_user_name    | OFF   | 选择用户名称
| validate_password.dictionary_file    |       |
| validate_password.length             | 6     | 密码长度
| validate_password.mixed_case_count   | 0     | 字母混合 0不混合
| validate_password.number_count       | 1     |
| validate_password.policy             | LOW   | 密码策略:low低
| validate_password.special_char_count | 0     | 密码特殊字符:0无
| validate_password_check_user_name    | OFF   | 选择用户名称
| validate_password_dictionary_file    |       |
| validate_password_length             | 6     | 密码长度
| validate_password_mixed_case_count   | 0     | 字母混合 0不混合
| validate_password_number_count       | 1     | 
| validate_password_policy             | LOW   | 密码策略:low低
| validate_password_special_char_count | 0     | 密码特殊字符:0无
+--------------------------------------+-------+
会发现此表会比平常的mysql多!区别是中间的.和_ 所以,改动的比平常mysql也多
具体修改方法如下:

设置低密码等级

set global validate_password.check_user_name=off;
set global validate_password.length=6;
set global validate_password.mixed_case_count=0;
set global validate_password.policy=low;
set global validate_password.special_char_count=0;
set global validate_password_check_user_name=off;
set global validate_password_length=6;
set global validate_password_mixed_case_count=0;
set global validate_password_policy =low;
set global validate_password_special_char_count=0;

再次查看 mysql 初始的密码策略

SHOW VARIABLES LIKE 'validate_password%';

没有问题后,设置新密码,如:123456

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

刷新访问权限表

flush privileges;

然后exit;退出mysql环境,再登陆一遍,验证密码修改成功。

mysql -u root -p
Enter password:

设置允许远程登录

此步骤很关键,不然远程连接数据库会被拒绝。

use mysql;
5.7(包括)以前用这个
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
或(5.7以后用这个)
update user set host = '%' where user = 'root';

然后查看

use mysql;
select host,user from user;

使用远程测试工具,测试是否能连接上MySQL