centos8安装mysql8
参考
https://blog.csdn.net/weixin_38568972/article/details/111058848
- 下载安装
如果没有wget命令执行下面的:
yum -y install wget
下载mysql:
wget https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm
下载完毕之后,安装mysql源
yum -y localinstall mysql80-community-release-el8-1.noarch.rpm
yum -y install mysql-community-server
systemctl status mysqld 查看mysql状态
如果报以下错
所有匹配已被模块的排除过滤过滤掉。: mysql-community-server 错误:没有任何匹配:mysql-community-server
执行以下命令
yum module disable mysql
- 基础设置
systemctl start mysqld 启动mysql
systemctl enable mysqld 开机启动
systemctl daemon-reload 重新加载服务配置
- 登录mysql
/var/log/mysqld.log 该目录下查看初始密码
A temporary password is generated for root@localhost: 初始密码
mysql -u root -p
输入默认密码登录
改默认密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY '密码';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 你的密码不满足规则
不满足规则那规则是什么呢?
SHOW VARIABLES LIKE 'validate_password%'; 查看密码验证规则
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement. what? 让我先重置密码 死循环了
经过查找规则如下
--------------------------------------+--------+
| 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 |
+--------------------------------------+--------+
1)、validate_password_length 固定密码的总长度;
2)、validate_password_dictionary_file 指定密码验证的文件路径;
3)、validate_password_mixed_case_count 整个密码中至少要包含大/小写字母的总个数;
4)、validate_password_number_count 整个密码中至少要包含阿拉伯数字的个数;
5)、validate_password_policy 指定密码的强度验证等级,默认为 MEDIUM 中等 ;
关于 validate_password_policy 的取值:
0/LOW:只验证长度;
1/MEDIUM:验证长度、数字、大小写、特殊字符;
2/STRONG:验证长度、数字、大小写、特殊字符、字典文件;
6)、validate_password_special_char_count 整个密码中至少要包含特殊字符的个数;
参考 https://blog.csdn.net/hello_world_qwp/article/details/79551789
- 其他设置
mysql> select Host,User from user;
+-----------+------------------+
| Host | User |
+-----------+------------------+
| localhost | mysql.infoschema |
| localhost | mysql.session |
| localhost | mysql.sys |
| localhost | root |
+-----------+------------------+
默认root 只有本地可以访问,要远程访问修改host
mysql> update user set Host='%' where User='root';
Query OK, 1 row affected (0.01 sec)
mysql> select Host,User from user;
+-----------+------------------+
| Host | User |
+-----------+------------------+
| % | root |
| localhost | mysql.infoschema |
| localhost | mysql.session |
| localhost | mysql.sys |
+-----------+------------------+
flush privileges 刷新权限
完成
补充 如果外部还是不能连接 注意查看你的端口3306是否开放
查询端口是否开放----------firewall-cmd --query-port=8080/tcp
开放某个端口-------------firewall-cmd --permanent --add-port=80/tcp
重启防火墙---------------firewall-cmd --reload(修改后需要重启生效)
个人记录,如有问题烦请指出<( ̄▽ ̄)/