200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 吐血整理阿里云安装MySQL8.0及远程连接失败问题

吐血整理阿里云安装MySQL8.0及远程连接失败问题

时间:2018-06-26 17:48:58

相关推荐

吐血整理阿里云安装MySQL8.0及远程连接失败问题

目录

一、绪论二、安装MySQL安装命令三、远程连接解决方案四、参考资料

一、绪论

小编昨天狠心买了一年的阿里云服务器,想要搭建自己的服务器。有人可能会思考为什么要买阿里云服务器呢?作为开发人员,在日常工作中大家也都会听到搭建阿里云服务器的相关言论。那小编解释一下为什么自己选择要搭建阿里云服务器???

灵活度低:日常工作学习中,大家想搭建服务器时,使用的最多就是VMware+Centos7镜像这种免费方式,小编没有买阿里云服务器之前也是这种方式,后来小编感觉到很不方便,小编现在办公用的是公司的笔记本,晚上回家就要天天带着它;万一自己要离职了或者重装系统是不是又要重新搭建一次服务器;技术提升:小编毕业进入社会也一年多了,很清楚自己需要的技术栈。对于公司的业务积累是必不可少的一部分,但更重要的是工作之余自己的时间安排(提升技术)。此外,公司的服务器肯定不会让自己搭建各种开发环境的,所以自己想要接触集群、Redis、消息中间件等技术,搭建属于自己的服务器是很重要的选择。

如果大家也想搭建自己的云服务器,可以点击链接领取福利喔-阿里云优惠券入口

二、安装MySQL

今天在搭建服务器基本开发环境时,遇到一个很扎心的问题,气的小编一口热血喷出。小编安装MySQL8.0版本过程一路顺利,但是问题卡在无法远程连接MySQL服务器,小编第一反应防火墙没有关闭或者3306端口没有开放。一系列命令折腾后还是无法连接,小编真的急了,想口吐芬芳的那种。(haha,遇到事情不要急,慢慢来。。。)。

安装命令

安装mysql

依次执行下列命令,如遇到中间输入命令,一路输入y即可。

wget /get/mysql80-community-release-el7-3.noarch.rpm yum localinstall mysql80-community-release-el7-3.noarch.rpmyum install mysql-community-client mysql-community-server

启动mysql

安装结束之后开始启动mysql;

启动mysql服务:systemctl start mysqld

检查mysql状态:systemctl status mysqld

设置开机启动:systemctl enable mysqld

修改用户密码:

启动服务之后,默认会给root账号设置一个默认密码。默认密码就在 /var/log/mysqld.log 中

查看mysql启动日志和密码:tail -f /var/log/mysqld.log

[root@izbp14najjyuhkvm4qbic7z ~]# tail -f /var/log/mysqld.log-07-10T06:13:05.709151Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 7DlsLOs8HT+G8(这里就是随机密码)-07-10T06:13:09.845737Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.20) starting as process 23725-07-10T06:13:09.889326Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.-07-10T06:13:11.008090Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.-07-10T06:13:11.223551Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Socket: '/var/run/mysqld/mysqlx.sock' bind-address: '::' port: 33060-07-10T06:13:11.592032Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.

重置密码

命令:ALTER USER “root”@“localhost” IDENTIFIED BY “xxxxxxx”;

新版本mysql设置密码需要遵循包含大小写字母特殊字符,否则就会提示下面错误。

ALTER USER "root"@"localhost" IDENTIFIED BY "xxxxxxx";#ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

以上基本上完成了mysql的安装和配置;开始进入今天的正题,无法连接远程;

三、远程连接

用户信息:

使用mysql数据库:use mysql;

查询用户密码命令:mysql> select host, user, authentication_string, plugin from user;

+-----------+------------------+------------------------------------------------------------------------+-----------------------+| host| user | authentication_string| plugin|+-----------+------------------+------------------------------------------------------------------------+-----------------------+| localhost | mysql.infoschema | $A$005$THISISACOMBINATIONKKKLLOALTANDPASSWORDTHATMAOOKUSTNEVERBRBEUSED | caching_sha2_password || localhost | mysql.session | $A$005$THISISACOMBINATIONOFLOSALIDSALTANDPKIGAKRDTHATMUSTNEVERBRBEUSED | caching_sha2_password || localhost | mysql.sys | $A$005$THISISACOMBINATIOLLOSJINVALIDSALTAHKKKWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |

host: 允许用户登录的ip‘位置’%表示可以远程;

user:当前数据库的用户名;

authentication_string: 用户密码

pulgin:Mysql8.0之前数据库加密方式:mysql_native_password ;

MySQL8.0数据库加密方式为:caching_sha2_password ;

综上,host字段均为localhost,意思是只允许本地IP访问,所以是无法被远程访问的。

解决方案

如果客户端无法访问出现:Authentication plugin ‘caching_sha2_password’ cannot be loaded

修改其加密规则即可:

# 修改加密规则ALTER USER "root"@"localhost" IDENTIFIED WITH mysql_native_password BY "xxxxxxx";

如果客户端无法连接服务器出现10083之类错误提示,则采用以下方式: 方式一,不推荐使用:

# 设置任意IP访问update mysql.user set host = '%' where user = 'root';# 刷新生效FLUSH PRIVILEGES;

方式二:

新增加一个账号使用支持的验证方式,小编这里采用这种方式。

# 创建用户(密码规则:mysql8.0以上密码策略限制必须要大小写加数字特殊符号):mysql>create user qxy123@'%' identified by 'WX12.';# 权限设置mysql>grant all privileges on *.* to qxy123@'%' with grant option;# 刷新mysql>flush privileges;

经过上面一番设置之后,相信大家的问题都能够解决,但是小编是基于阿里云服务器搭建的,相信有经验的大牛都能够想到小编的问题并没有解决。

小编静下心梳理了一下,这种正常启动无法远程连接,基本问题出现在防火墙或者端口设置上,小编直接把防火墙关闭了还是无法连接,于是乎小编继续度娘上找问题的答案,突然看到阿里云字体,瞬间清楚了问题的所在,小编注意力放在了数据库无法连接,却忽略最重要的问题,基于阿里云搭建,阿里云服务器是否未开放入网mysql端口(惊叹),于是乎,~~~~一股脑操作设置安全组入网规则,再次连接终于连接成功了。开发人员果然要不断的采坑才能更好的成长,相信这种经历之后,小编再次经历类似问题一定能够很快的解决问题。加油!!!

四、参考资料

/chentop/p/10296310.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。