由于需要在centos下部署整个应用,自然少不了对数据库的操作。但很多人可能会遇到一些问题,比如创建用户成功,但是却无法登录。

无法登陆一般就两个原因。第一,远程访问端口没开,第二个原因就是密码错误了(很奇怪,我们登录时的密码明明是正确的,但还是会提示密码错误,我也不知道这是什么原因,有可能是编码之类的吧)

远程访问端口没开这种情况比较好解决,如果用的云服务器,在控制台去配置安全组,打开相应端口就可以了。

这里说一下第二种错误,这个比较坑。

第二种情况往往会报错显示:1045 Access denied for user 'root'@'%' (using password:YES)。

我把完整流程大致写一遍。我的操作系统是centos7.4,MySQL版本是5.7。

首先登陆mysql,我的是root用户。登录命令是

mysql -u root -p

输入登录密码后,窗口变化如下图:

首先看一下现在系统里面有哪些用户,以及用户的具体权限,具体命令:

查看用户:

SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

show grants for 'root'@'%';

窗口变化如下图:

接下来我要创建一位用户,让改用户能够远程访问数据库,并对其进行操作。具体命令如下:

create user zhangsanidentified by 'zhangsan.CQU.2020.lisi';grant all privileges on *.* to zhangsan@'%' identified by 'zhangsan.CQU.2020.lisi';
grant all privileges on *.* to 'zhangsan'@'%' identified by 'zhangsan.CQU.2020.lisi' with grant option;

flush privileges;

此时再查看用户,就能发现多了一位用户,也就是我们刚才创建的用户。

输入exit,退出MySQL,然后试着用zhangsan这个账户登录一下。

问题顺利出现了,就是登不上去,接下来去解决这个问题咯。

首先,找到自己的MySQL的my.cnf文件,(我的在etc文件夹下面,不同的人可能不一样,用Linux命令按条件查找即可)

打开文件后(vi my.cnf),进入编辑模式(a)找到mysqld关键字,在mysqld下面添加skip-grant-tables,保存退出(先esc,再:wq),如图:

将注释去掉即可。

然后重启mysql,命令如下:

service mysqld restart

接下来就是重新登录,然后修改密码啦。

提示输入密码那里,直接enter,跳过密码验证,登陆成功。接下来进入mysql数据库,然后修改密码,命令如下。

use mysql

修改密码:

update user set authentication_string=password("zhangsan.CQU.2020.lisi") where user="zhangsan";

然后退出mysql,将刚刚修改过的my.cnf文件改回来,并重新启动mysql。

可以看到登录已经成功了,远程连接也能成功,就不演示了,如果远程登录还不成功,检查一下端口设置,是否开启了远程访问。

总结

更多相关文章

  1. Linux下MYSQL 5.7 找回root密码的问题(亲测可用)
  2. Android(安卓)10 定位问题,获取NMEA(支持5.0~10.0)
  3. mybatisplus的坑 insert标签insert into select无参数问题的解决
  4. 关于Android(安卓)Studio3.2新建项目Android(安卓)resource link
  5. Android软键盘适配问题
  6. SlidingMenu和ActionBarSherlock结合做出出色的App布局,Facebook
  7. android解决坚屏拍照和保存图片旋转90度的问题,并兼容4.0
  8. Android(安卓)Calendar使用过程中遇到的问题
  9. flutter-使用第三方库,编译和运行版本不一致问题 2

随机推荐

  1. Android滚轮实现LinearSnapHelper
  2. [android ndk]android studio动态库生成
  3. Android开发者e周报 第3期
  4. 获得联系人姓名,相关电话以及邮件地址sdk2
  5. Javascript判断浏览器终端是安卓Android
  6. Android显示时间和日期的控件的使用总结
  7. android新知识汇总
  8. Android的线程模型
  9. NDK编程实例
  10. Android检测外接USB设备的几种方法