大家好,我是考100分的小小码 ,祝大家学习进步,加薪顺利呀。今天说一说解决beego在ubuntu下连接mysql与重置mysql密码[通俗易懂],希望您对编程的造诣更进一步.
解决这个时把我吓坏了!!!
报错如下
register db Ping `default`, Error 1698: Access denied for user 'root'@'localhost'
代码100分
开始我是想可能是ubuntu的原因,也可能是mysql8.0的原因吧,不管怎样,我讲一下解决这个问题的经历
开始我是找到个解决办法
代码100分mysql> USE mysql;
mysql> UPDATE user SET plugin='mysql_native_password' WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> exit;
$ service mysql restart
这样就把密码弄没了,即无密码登陆,先说明一下,这个方法是可以解决上面抱错的问题的
但是我在输命令时输错了,哪里输入错了就不写了,反正导致的结果就是报错连不上数据库,用原来的密码也登陆不上数据库,我想,完了,密码坏掉了,数据库进不去了
然而我还是找到了解决办法,用重置初始密码的方式登陆数据库,然后在执行一次上面的操作,用来覆盖原来的错误操作,这样,整个总算是解决了。
我是这样做的:
1.进入目录:cd /etc/mysql,
查看debian.cnf
文件,使用这个文件里的user和password登陆,这样就登陆了进去了并可以进行一系列操作
下面谈的就与beego连接数据库无关了,而是如何更默认密码
2.进入mysql数据库user mysql
3.进行密码设置执行下列操作
mysql> update user set authentication_string=PASSWORD("自定义新密码") where user='root';
mysql> update user set plugin="mysql_native_password";
mysql> flush privileges;
最后退出数据库,并重启数据库
代码100分mysql> exit;
$ service mysql restart
这个问题让我想起了我以前解决windows上egg-mysql连接高版本mysql,也就是下面这段话:
mysql8.0 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password, 解决此问题方法有两种,一种是升级客户端驱动,一种是把mysql用户登录密码加密规则还原成mysql_native_password。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/9717.html