进入mysql控制台 linux_ubuntu中使用mysql出现ERROR 1698 (28000): Access denied

起初没有在意,平时使用mysql时,一般是通过sudo mysql启动,这个命令可以进入到mysq命令行界面。

但是我想要通过mysql-workbench连接本地数据库时,遇到了问题:

4adaccd5-a312-eb11-8da9-e4434bdf6706.png

于是我使用mysql尝试输入 mysql -u root -p时,出现了ERROR 1698 (28000): Access denied for user 'root'@'localhost'的问题。

通过https://www.linuxidc.com/Linux/2019-08/159900.htm我得到了解决问题的方式

方法一:

通过sudo mysql 进入mysql的控制界面

然后创建一个用户表

步骤一:输入sudo mysql 进入mysql控制窗口

4bdaccd5-a312-eb11-8da9-e4434bdf6706.png

4cdaccd5-a312-eb11-8da9-e4434bdf6706.png

步骤二:输入show databses;,展示所有的数据库,这时你能够看到mysql这个数据库

4fdaccd5-a312-eb11-8da9-e4434bdf6706.png

步骤三:输入use mysql;,然后回车

    输入update user set authenticatin_string=password('输入密码') where user='root'; ,然后回车

    输入flush privileges;,然后回车

    输入exit;,退出mysql控制台

步骤四:命令行输入service mysql restart

    命令行输入mysql -u root -p ,如果不成功进入,则需要做一下修改参考步骤五,否则忽略步骤五。

步骤五:输入sudo mysql,进入mysql控制台

    输入show databases;

    输入use mysql;

    输入show tables;

    输入select user,plugin from user;,这时将看到plugin,root字段为auth_socket,将它修改为mysql_native_password

    输入update user set authentication_string=password('输入密码'),plugin='mysql_native_password' where user='root';

    输入flush privileges,然后输入exit退出

    输入service mysql restart

    这时在控制台输入mysql -u root -p,即可启动成功。

步骤六:这时启动mysql-workbench,点击连接。

方法二:

因为安装的过程中没让设置密码,可能密码为空,因此无论如何都进不去MySQL。

步骤1:设置为不用输入密码

    控制台输入 sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

    在mysqld处加入skip-grant-tables,这个语句的作用是跳过输入密码

50daccd5-a312-eb11-8da9-e4434bdf6706.png

    输入wq!保存退出

步骤二:重启mysql服务器

    service mysql restart

    输入mysql -u root -p,这时在需要输入密码时直接按回车,直接进入mysql控制台

步骤三:启动mysql-workbench

    这时可以直接连接本地数据库,而无需输入密码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值