文章目录
一、前言
突然想起来去年双十一趁着阿里云服务器新用户打折,买了一个三年期的服务器。然后就一直放着,一直也没管过。。。。。。啊,我已经受不了自己了。。。。。。不能在放着吃土了。。。不然白白浪费了我的人民币~~~先来个mysql,顺便做个笔记吧。
二、环境信息
环境 | 版本 |
---|---|
服务器 | 阿里云ECS(Centos7.8) |
mysql | 8.0.26 |
三、安装
3.1 安装Mysql
3.1.1 安装MySQL官方的 Yum Repository
下载
wget -i -c http://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
查看下载后的文件
安装
yum -y install mysql80-community-release-el7-3.noarch.rpm
3.1.2 安装MySQL服务器
yum -y install mysql-community-server
3.2 配置Mysql数据库
3.2.1 启动MySQL
systemctl start mysqld.service
3.2.2 查看MySQL运行状态
systemctl status mysqld.service
active (running)表示运行状态
3.2.3 查找初始密码
grep "password" /var/log/mysqld.log
3.2.4 访问数据库
mysql -uroot -p
输入密码(密码是上面查询到的 -tLT_T*uX49q ),此时不能操作数据库,必须修改密码之后才能操作数据库
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
其中‘new password’换成你要设置的密码,密码设置必须要大小写字母数字和特殊符号。
3.2.5 开启远程访问
执行以下命令开启远程访问限制。%代表所有都可以访问,如果指定某个Ip访问可以替换成对应的IP。
create user 'root'@'%' identified by 'new password';
grant all privileges on *.* to 'root'@'%' with grant option;
刷新权限
flush privileges;
3.3 修改密码安全策略
SHOW VARIABLES LIKE 'validate_password%';
set global validate_password.policy=LOW;
set global validate_password.length=6;
关于 mysql 密码策略相关参数;
- validate_password.length 固定密码的总长度;
- validate_password_dictionary_file 指定密码验证的文件路径;
- validate_password_mixed_case_count 整个密码中至少要包含大/小写字母的总个数;
- validate_password_number_count 整个密码中至少要包含阿拉伯数字的个数;
- validate_password.policy 指定密码的强度验证等级,默认为 MEDIUM;
- validate_password_special_char_count 整个密码中至少要包含特殊字符的个数;
关于 validate_password.policy 的取值:
- LOW:只验证长度;
- MEDIUM:验证长度、数字、大小写、特殊字符;
- STRONG:验证长度、数字、大小写、特殊字符、字典文件;
四、访问
安装配置完我就开开心心的打开了我的mysql可视化工具。输入ip端口账户密码,不出所料,访问不了。。。。。。。。。。
本来以为是防火墙的原因,可是发现防火墙是关闭的
systemctl status firewalld
dead 代表是关闭的
打开防火墙
systemctl start firewalld
设值防火墙白名单端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --add-port=8080/tcp --permanent
哎。。。还是不能访问呀,最后找了半天才发现是阿里云服务器的安全策略。泪奔~~~~
点开发现只开发了22和3389端口
好吧,开放3306端口给自己的ip把。百度ip,找到自己的网络Ip
添加一条3306端口到入方向,授权对象是刚才查询到的自己网络IP
终于可以访问了。。。。。。。。。