细数本地连阿里云上mysql8遇到的坑

darling2047 2019-01-03 原文

细数本地连阿里云上mysql8遇到的坑

  最近两个月忙成狗,给了自己一个冠冕堂皇的不记录博客的借口,今天咬牙记录一篇本地连阿里云mysql遇到的各种坑;

  昨天利用妹妹的学生身份买了台廉价的阿里ECS,购买成功后的第一反应当然是把本地的mysql迁移到服务器上以减轻我这个11年的老年机的负担了,
话不多说,直接在服务器上敲起来,wget,yum命令一敲mysql8顺利安装!

  接下来就是修改密码了,思路大概就是在my.cnf(一般在/etc下)添加skip-grant-tables免密登录,然后重启mysql,然后再输入mysql -u root -p命
令按两次回车直接进mysql了;这里我遇到了第一个坑,脑残的我把skip-grant-tables加到my.cnf的注释里了,然后怎么也跳不过去,真是自作自受了;

  上面的步骤都成功了以后,可以输入select host, user, authentication_string, plugin from mysql.user;查看mysq自带的用户表,其中host表示允许用户登录的 ip,% 表示可以远程;user和authentication_string分别表示用户名和

密码,plugin表示加密方式;我们可以将root的默认密码滞空,update mysql.user set authentication_string=” where user=’root’; 然后通过exit退出mysql命令行,接着去把刚开始在my.cnf加的skip-grant-tables给注释掉,重启mysql

接着用mysql -u root -p登录,遇到输入密码直接回车,因为刚已经把密码滞空了;进入mysql命令行以后使用ALTER user ‘root’@’localhost’ IDENTIFIED BY ‘新密码’;设置新密码,需要注意的是设置的新密码默认是有复杂度校验的

如果不想校验可以输入set global validate_password.policy=0;执行成功就可以输入简单的密码了

  接下来就是重点了,也是让我连个数据库而浪费了一上午的元凶所在,以上标红的字段一般就是坑之所在了;下面分三点依次解析:

  1、要使远程连接user表中root用户对应的host的值应改为”%”

  2、然后就是修改加密方式了,命令ALTER mysql.USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘密码’;然后刷新权限FLUSH PRIVILEGES;

    不出意外的话,第一个alter命令就会失败,因为我root对应的host已经改成%号了,而百度到的所有修改加密方式的都是ALTER mysql.USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘密码’;这又是我自己挖的

坑了,好在纠结半天后终于发现原因了,不然真是冤死了;有两个解决办法,可以把alter中的localhost改为%或者直接将@’localhost’去掉,还可以将1/2两步对调先改加密方式再改%就可以避免我这种苦逼的问题了;

  3、最后设置密码这块是一样的,如果你是最后将root用户对应的host的值应改为”%”的应该就不会有什么问题,而如果跟我一样首先就设置成%了,那么ALTER user ‘root’@’localhost’ IDENTIFIED BY ‘新密码’;也会执行失败,解决办法和

2一样;

  数据库这块我们设置完后还要去阿里云上配个安全组,将3306端口开发出来,管理控制台==>云服务器ECS==>实例,然后选中需要操作的实例点击管理==>点击本实例安全组==>点击配置规则,最后点击添加安全组规则;其中端口范围:3306/3306;授权对象0.0.0.0/0就好;

  下面总结一下本地连阿里云ecs上mysql的一些步骤:

    1、确定本地能ping通你自己ecs的公网ip

    2、修改ecs上mysql对应用户密码的加密方式以及使其支持远程连接

    3、在ecs上开发3306端口

  这样基本上应该就能连接了,反正我是 踩了各种坑后终于圆满了,现在填好希望以后不会再踩了!

 

发表于 2019-01-03 15:47 木木他爹 阅读() 评论() 编辑 收藏

 

版权声明:本文为darling2047原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/darling2047/p/10214541.html

细数本地连阿里云上mysql8遇到的坑的更多相关文章

  1. MySQL5.6安装

    一、MySQL版本的选择 推荐选择MySQL官方版本,且选择MySQL5.6以后的版本。 如选择Percona […]...

  2. MYSQL 字符集设置(终端的字符集)

    每次利用终端 创建数据库或者创建表的时候,字符集都是latin1,或者进行插入值的时候,显示的是乱码(不指定字 […]...

  3. 终于彻底搞清楚了 MySQL spin-lock 之一次CPU问题定位过程总结

    首先这个问题,我只是其中参与者之一。但这个问题很有参考意义,特记录下来。 还有我第一次用“彻底”这个词,不知道 […]...

  4. MySQL5.7主从同步

    性能更好的新服务器申请下来了,我们决定在2台新服务器上使用mysql5.7,并且使用主从同步、读写分离架构,很 […]...

  5. Mysql配置文件参数设置

    Mysql常用配置文件参数设置 [mysqld] # # Remove leading # and set t […]...

  6. mysql 判断null 和 空字符串

    1.在mysql中null 不能使用任何运算符与其他字段或者变量(函数、存储过程)进行运算。若使用运算数据就可 […]...

  7. MySQL 服务正在启动 MySQL 服务无法启动解决途径 – YKitty

    MySQL 服务正在启动 MySQL 服务无法启动解决途径 解决方案: 1.删除自己手动创建的data文件夹; […]...

  8. MySQL 5.7 MGR原理及部署

    MySQL 5.7 MGR 1、背景 主从复制,一主多从,主库提供读写功能,从库提供只读功能。当一个事务在ma […]...

随机推荐

  1. Redis入门之认识redis(一)

    Redis入门之认识redis(一) 第1章 非关系型数据库 1.1 NoSQL数据库概述   1) NoSQ […]...

  2. php源码解读

    http://www.cnblogs.com/h-hq/p/5213767.html...

  3. Apache索引目录浏览的学习笔记

    在浏览一些镜像文件站的时候,会发现网站目录是可以浏览文件(夹)列表的。举两个例子:网易开源镜像;Ubuntu。 […]...

  4. Postman:下载安装与基本介绍

      1.下载: (1)官网APP: https://www.getpostman.com/ (即: https […]...

  5. 老爷子这代码,看跪了!

    这是why的第 99 篇原创文章 你好呀,我是why哥。 不是,这个照片不是我,标题说的老爷子就是这个哥们,这 […]...

  6. 前端入门3-CSS基础

    声明 本系列文章内容全部梳理自以下四个来源: 《HTML5权威指南》 《JavaScript权威指南》 MDN […]...

  7. 策略模式

          策略模式采用组合的形式,把一个算法任务委托给被组合的接口,根据运行时传入对象的不同,算法可以做到相 […]...

  8. sqlmap常用命令

    ———————— […]...

展开目录

目录导航