mysql8.3 安装部署
1.下载MySQL
进入安装目录,可自由选择,我选择安装在usr/local目录下,新建mysql文件夹,后续在此安装
cd /usr/local
mkdir mysql
cd mysql
安装rpm包
wget https://dev.mysql.***/get/mysql57-***munity-release-el7-11.noarch.rpm
如果提示wget命令不存在,先执行
yum -y install wget
下载后ls查看,多了一个rpm文件。
然后安装MySQL安装源
yum -y localinstall mysql57-***munity-release-el7-11.noarch.rpm
2.在线安装MySQL
yum -y install mysql-***munity-server
下载东西会有点多,需等待一会儿。
如果提示
Failing package is: mysql-***munity-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-***munity-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