解决beego在ubuntu下连接mysql与重置mysql密码
解决这个时把我吓坏了!!!
报错如下
register db Ping `default`, Error 1698: Access denied for user 'root'@'localhost'
开始我是想可能是ubuntu的原因,也可能是mysql8.0的原因吧,不管怎样,我讲一下解决这个问题的经历
开始我是找到个解决办法
mysql> USE mysql;
mysql> UPDATE user SET plugin='mysql_native_password' WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> exit;
$ service mysql restart
这样就把密码弄没了,即无密码登陆,先说明一下,这个方法是可以解决上面抱错的问题的
但是我在输命令时输错了,哪里输入错了就不写了,反正导致的结果就是报错连不上数据库,用原来的密码也登陆不上数据库,我想,完了,密码坏掉了,数据库进不去了
然而我还是找到了解决办法,用重置初始密码的方式登陆数据库,然后在执行一次上面的操作,用来覆盖原来的错误操作,这样,整个总算是解决了。
我是这样做的:
进入目录:cd /etc/mysql,
查看debian.cnf
文件,使用这个文件里的user和password登陆,这样就登陆了进去了并可以进行一系列操作
下面谈的就与beego连接数据库无关了,而是如何更默认密码
进入mysql数据库user mysql
进行密码设置执行下列操作
mysql> update user set authentication_string=PASSWORD("自定义新密码") where user='root';
mysql> update user set plugin="mysql_native_password";
mysql> flush privileges;
最后退出数据库,并重启数据库
mysql> exit;
$ service mysql restart
这个问题让我想起了我以前解决windows上egg-mysql连接高版本mysql,也就是下面这段话:
博客地址
mysql8.0 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password, 解决此问题方法有两种,一种是升级客户端驱动,一种是把mysql用户登录密码加密规则还原成mysql_native_password。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341