mysql8.3 安装部署

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

cd /usr/localmkdir mysqlcd 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 mysqldsystemctl daemon-reload

4.配置MySQL
修改MySQL密码,首先查看初始密码

vim /var/log/mysqld.log

使用此密码进入MySQL

mysql -u root -pEnter 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 -pEnter 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