1. 下载mysql的rpm包
[root@izwz91qnvovd6suufon1ccz ~]# wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
2. 安装rpm包
[root@izwz91qnvovd6suufon1ccz ~]# yum localinstall -y mysql57-community-release-el7-7.noarch.rpm
3. 安装mysql 5.7
[root@izwz91qnvovd6suufon1ccz ~]# yum install -y mysql-community-server
4. 启动mysql 5.7
[root@izwz91qnvovd6suufon1ccz ~]# systemctl start mysqld.service
5. 查看数据库的状态:
service mysqld status
6. MySQL在5.7安装完成之后有一个默认密码, 查看默认密码:
[root@izwz91qnvovd6suufon1ccz ~]# grep 'temporary password' /var/log/mysqld.log
2019-12-09T04:21:12.283622Z 1 [Note] A temporary password is generated for root@localhost: b;M%;tBXw5E8
7. 修改默认密码:
[root@izwz91qnvovd6suufon1ccz ~]# mysql -u root -p Enter password: --使用上面的密码进入mysql mysql> set password = password('yourpassword');
Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> alter user 'root'@'localhost' password expire never; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> quit; --退出后再使用密码登陆
8. 赋远程访问权限:
mysql> grant all privileges on *.* to 'root'@'%' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
9. 修改mysql以让它不要区别表名大小写, 需要重启mysql服务
[root@izwz91qnvovd6suufon1ccz ~]# vim /etc/my.cnf [mysqld] # lower_case_table_names=1 --在最后一行添加
11. 看下防火墙:
[root@izwz91qnvovd6suufon1ccz ~]# firewall-cmd --list-all
FirewallD is not running
12. 我这里防火墙没有运行直接可以使用navicat远程访问了, 默认端口3306
13. 关于防火墙:
1. 查看防火墙 firewall-cmd --list-all 2. 加入3306端口 firewall-cmd --permanent --add-port=3306/tcp #添加完成后注意重启
#删除端口 firewall-cmd --permanent --remove-port=8090/tcp #删除完成后注意重启
3. 重启防火墙 service firewalld restart 4. 查看3306是否开放 firewall-cmd --query-port=3306/tcp ----------------------------------------------------------- --zone #作用域 --add-port=80/tcp #添加端口,格式为:端口/通讯协议 --permanent #永久生效,没有此参数重启后失效 firewall-cmd --permanent --zone=public --add-port=100-500/tcp #批量开启TCP端口 firewall-cmd --permanent --zone=public --add-port=100-500/udp firewall-cmd --reload ----------------------------------------------------------- 5. 查看防火墙状态 systemctl status firewalld.service 6. 关闭防火墙 systemctl stop firewalld.service 7. 启动防火墙 systemctl start firewalld 8. 开机禁用防火墙 systemctl disable firewalld 9. 开机启用防火墙 systemctl enable firewalld
14. 密码策略:
#创建用户的时候提示密码策略 Your password does not satisfy the current policy requirements mysql> SHOW VARIABLES LIKE 'validate_password%'; #使用root查看密码策略 参数解释: 1).validate_password_dictionary_file 指定密码验证的文件路径; 2).validate_password_length 密码最小长度 3).validate_password_mixed_case_count 密码至少要包含的小写字母个数和大写字母个数; 4).validate_password_number_count 密码至少要包含的数字个数 5).validate_password_policy 密码强度检查等级,对应等级为:0/LOW、1/MEDIUM、2/STRONG,默认为1 注意: 0/LOW:只检查长度; 1/MEDIUM:检查长度、数字、大小写、特殊字符; 2/STRONG:检查长度、数字、大小写、特殊字符字典文件。 6).validate_password_special_char_count密码至少要包含的特殊字符数 mysql> set global validate_password_mixed_case_count=0; #小写字母长度改下 mysql> create user myroot identified by 'ROOT@1234'; mysql> grant all privileges on *.* to 'myroot'@'%' IDENTIFIED BY 'ROOT@1234' WITH GRANT OPTION;
15. 一些设置:
#设置开机启动 systemctl enable mysqld.service #启动mysql systemctl start mysqld #停止 systemctl stop mysqld #查看状态 systemctl status mysqld