1.远程连接
在Linux系统安装好MySQL5.7数据库,不要以为就大功告成了后面还有大坑等着你踩了。宏哥这里介绍一下远程连接遇到的坑以及如何处理。由于征文要求安装环境教学除外宏哥这里就不介绍在Linux系统安装mysql数据库,有需要的可以自己百度一下。但是我看留言评论的文章还是有安装mysql数据的文章。。。。
1.1首次远程连接(第一次)
1.这个时候如果使用远程连接,你会发现无法连接。报错如下图所示:
2.出现上图报错的主要原因是:额。肯定是防火墙没有关,也就是你MySQL服务对外的端口3306没有开放。因为宏哥CentOS7,默认是firewalld防火墙,宏哥这是在演示,这里直接关闭,输入如下命令:
systemctl stop firewalld
3.正式环境下需要开放3306端口即可,绝对不允许向上一步简单、粗暴方法,否则后果自负。依次输入如下命令:
① 查看防火墙的状态:
systemctl status firewalld
② 开放3306端口:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
③ 重启防火墙:
systemctl restart firewalld.service
8.2再次远程连接(第二次)
1.当宏哥将防火墙关闭,或者端口开放后,仍然连不上,报错如下图所示:
2.报上图错误,额,这是因为我们的root用户默认只能够本机本地访问,这里要开放下,登录mysql,执行如下三条命令即可.
①首先输入如下命令登录MySQL,输入密码。
./mysql -u root -p #bin目录下
②执行下边三条SQL语句
use mysql #访问mysql库
update user set host = '%' where user = 'root'; #使root能再任何host访问
FLUSH PRIVILEGES;
1.3再次连接测试(第三次)
1.使用工具进行连接,输入好登录行,点击“测试连接”如下图所示:
好啦,古有刘备三顾茅庐,今有宏哥三连数据库。到这里才是最终的打大功告成!
2.执行mysql命令
1.你可能也发现了,宏哥每次执行mysql命令,都需要进入mysql的bin目录,这样有点麻烦不方便。但是不进入就会报如下图所示的错误:
2.如果不希望每次进到bin目录下使用mysql命令,则执行一下命令。你需要输入如下命令:
ln -s /usr/local/mysql/bin/mysql /usr/bin
3.然后,不进入bin目录,执行mysql命令,没有报第一步的错误。如下图所示:
3.小结
1.Linux执行tar解压报错tar: Error is not recoverable: exiting now
解决方案有两种。
方案一:去掉解压参数中的z,执行命令改为:tar -xvf xx.tar.gz。
该方案的原因是:下载的文件并不是“通过 gzip 过滤归档”所以添加参数z就无法正常解压。
如果该方案依旧无法进行正常解压那就尝试第二中方案。
方案二:重新下载或上传压缩文件
本方案是针对下载的压缩文件并不完整,也就是说并没有正常下载完成。可以换个方式重新下载。比如通过wget下载之后,执行出现上面问题。可以尝试在其他机器上直接下载,然后上传到目标服务器上再执行上面的解压命令,即可。
2.小伙伴们或者童鞋们,会发现宏哥会用sudo这个命令,这是因为宏哥现在登录的用户admin,有些时候需要root用户权限,所以才会有sudo命令出现。
3.通过命令下载的安装包,下载完成后,要注意下载安装包和官网安装大小的比较,如果差不多,那就没有问题,但是相差较大的话,可能就是你下载的安装包不完整,需要重新下载,万一你为了省事没有重新下载的话,直接安装就会安装失败,此时再次安装就需要你把系统中的MySQL全部卸载干净,否则再次下载完整的安装包也有可能安装不成功。