记一次linux下安装MySQL5.7.21

由于每个人遇到的问题都不一样,所以这篇博客记录的解决方案并不适合所有人,

因为无论对错,最重要的是自己思考得出的结果

一开始参考的安装教程为:https://www.cnblogs.com/moy25/p/8552859.html

但是后来发现其实自己动手安装的时候并不是一帆风顺

由于修改了my.cnf文件 启动时报错

my_print_defaults: Can't read dir of '/etc/my.cnf.' (Errcode: 2 - No such file or directory)
my_print_defaults: [ERROR] Fatal error in defaults handling. Program aborted!
Starting MySQL.my_print_defaults: Can't read dir of '/etc/my.cnf.' (Errcode: 2 - No such file or directory)
my_print_defaults: [ERROR] Fatal error in defaults handling. Program aborted!
my_print_defaults: Can't read dir of '/etc/my.cnf.' (Errcode: 2 - No such file or directory)
my_print_defaults: [ERROR] Fatal error in defaults handling. Program aborted!
The server quit without updating PID file (/data/mysql/iz2z[FAILED]hyn46pifd7z.pid).
 

看了下翻译,嗯 少个文件

创建了my.cnf.文件后

启动成功,但是登陆时报错

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

于是又找了一下解决方案:https://blog.****.net/weixin_30809173/article/details/98422499

此时登陆

另一个错误来了

ERROR 1862 (HY000): Your password has expired. To log in you must change it using a client that supports expired passwords.

= =? 密码过期是什么鬼?

于是打算重新设置密码,轻车熟路的加上了免密登录skip-grant-tables

启动-------------------------------------------

发现报错信息如下

my_print_defaults: Can't read dir of '/etc/my.cnf' (Errcode: 20 - Not a directory)
顿时傻眼了,怎么把配置文件当成目录来读取了呢?

记一次linux下安装MySQL5.7.21

 

然后去掉f... 别问我为什么这么随便,因为我也不知道管不管用

记一次linux下安装MySQL5.7.21

 

然后..启动了.....

登录㕛来了:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

遇事不决先重启

 

记一次linux下安装MySQL5.7.21

 

我也不知道什么原理,以后再研究吧

当我准备设置密码永不过期的时候,我看到了这个

[mysqld]

default_password_lifetime=0

设置密码永不过期的全局策略,在my.cnf中[mysqld]加上这一句就完事的事情被我玩了大半天....

记一次linux下安装MySQL5.7.21

 

然后停一下服务

记一次linux下安装MySQL5.7.21

这就受不了了,我真没动过相关配置  难受的不行

行吧 你说少个那我就建个呗

记一次linux下安装MySQL5.7.21

再次尝试登陆

记一次linux下安装MySQL5.7.21

 

ok 此时登陆成功了,但是还不够,需要能远程访问

记一次linux下安装MySQL5.7.21

 

没想到直接给我成功了,还以为至少要配个防火墙什么的

那么附上以前使用过的一些命令,希望能帮到后来人

 

-----------------------------------------------------------------------------------------------------------------------

systemctl status firewalld查看firewalld状态,发现当前是dead状态,即防火墙未开启。

通过systemctl start firewalld开启防火墙,没有任何提示即开启成功。

再次通过systemctl status firewalld查看firewalld状态,显示running即已开启了。
如果要关闭防火墙设置,可能通过systemctl stop firewalld这条指令来关闭该功能。
再次执行执行firewall-cmd --permanent --zone=public --add-port=3306/tcp,提示success,表示设置成功

--8080 端口临时指向80端口 (防火墙重启失效)
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080

---------------------------------------------

firewall-cmd --zone=public --list-ports      查看打开的端口
    
    

1.启动防火墙

systemctl start firewalld 
2.禁用防火墙

systemctl stop firewalld
3.设置开机启动

systemctl enable firewalld
4.停止并禁用开机启动

sytemctl disable firewalld
5.重启防火墙

firewall-cmd --reload
6.查看状态

systemctl status firewalld或者 firewall-cmd --state
7.查看版本

firewall-cmd --version
8.查看帮助

firewall-cmd --help
9.查看区域信息

firewall-cmd --get-active-zones
10.查看指定接口所属区域信息

firewall-cmd --get-zone-of-interface=eth0
11.拒绝所有包

firewall-cmd --panic-on
12.取消拒绝状态

firewall-cmd --panic-off
13.查看是否拒绝

firewall-cmd --query-panic
14.将接口添加到区域(默认接口都在public)

firewall-cmd --zone=public --add-interface=eth0(永久生效再加上 --permanent 然后reload防火墙)
15.设置默认接口区域

firewall-cmd --set-default-zone=public(立即生效,无需重启)
16.更新防火墙规则

firewall-cmd --reload或firewall-cmd --complete-reload(两者的区别就是第一个无需断开连接,就是firewalld特性之一动态
添加规则,第二个需要断开连接,类似重启服务)
17.查看指定区域所有打开的端口

firewall-cmd --zone=public --list-ports
18.在指定区域打开端口(记得重启防火墙)

firewall-cmd --zone=public --add-port=80/tcp(永久生效再加上 --permanent)


    ps -ef|grep java 
    
    
    netstat  -anp  |grep  端口
    
    
    tail -f  catalina.out 
    
    
    
    1、开启防火墙 
    systemctl start firewalld

    2、开放指定端口
          firewall-cmd --zone=public --add-port=1935/tcp --permanent
     命令含义:
    --zone #作用域
    --add-port=1935/tcp  #添加端口,格式为:端口/通讯协议
    --permanent  #永久生效,没有此参数重启后失效

    3、重启防火墙
          firewall-cmd --reload

    4、查看端口号
    netstat -ntlp   //查看当前所有tcp端口·

    netstat -ntulp |grep 1935   //查看所有1935端口使用情况·