阿里云安装mysql能本地吗

发布时间: 2023-11-21 11:20 阅读: 文章来源:1MUMB1202PS
一、绪论

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

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

二、安装MySQL

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

安装命令安装mysql依次执行下列命令,如遇到中间输入命令,一路输入y即可。wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm yum localinstallmysql80-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.log2020-07-10T06:13:05.709151Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 7DlsLOs8HT+G8(这里就是随机密码)2020-07-10T06:13:09.845737Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.20) starting as process 237252020-07-10T06:13:09.889326Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.2020-07-10T06:13:11.008090Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.2020-07-10T06:13:11.223551Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Socket: ‘/var/run/mysqld/mysqlx.sock‘ bind-address: ‘::‘ port: 330602020-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@‘%‘ identifiedby ‘WX12.‘;# 权限设置mysql>grant all privileges on *.* to qxy123@‘%‘ with grant option;# 刷新mysql>flush privileges;

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

作者:溪~源

原文链接:https://blog.csdn.net/xuan_lu/article/details/107269582

•••展开全文