更改mysql密码后,我确实执行了skip-grant-tables,所以当我尝试登录没有密码的mysql时,我无法登录。它提供访问被拒绝的消息。为什么会这样?
以下是我所做的步骤。首先我安装了mysql并更改了密码
1)sudo yum install mysql-community-server
2)sudo service mysqld start
3)sudo grep'临时密码'/var/log/mysqld.log
4)mysql -uroot -p
5)ALTER USER'root'@'localhost'由'MyNewPass4'识别!
然后尝试使用跳过授权表登录
6)sudo service mysqld stop
7)mysqld_safe --skip-grant-tables&
现在我收到了拒绝访问的消息
答案 0 :(得分:0)
我最近将Ubuntu 16.04升级到了18.04,这对我有用:
首先,在sudo mysql中连接
sudo mysql -u root
检查您的数据库中的帐户
SELECT User,Host FROM mysql.user;
+------------------+-----------+
| User | Host |
+------------------+-----------+
| admin | localhost |
| debian-sys-maint | localhost |
| magento_user | localhost |
| mysql.sys | localhost |
| root | localhost |
删除当前的root @ localhost帐户
mysql> DROP USER 'root'@'localhost';
Query OK, 0 rows affected (0,00 sec)
重新创建用户
mysql> CREATE USER 'root'@'%' IDENTIFIED BY '';
Query OK, 0 rows affected (0,00 sec)
授予用户权限(不要忘记刷新权限)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
Query OK, 0 rows affected (0,00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0,01 sec)
退出MySQL并尝试在没有sudo的情况下重新连接。
这将使您登录。</ p>