无法在mysql或通过ssh

时间:2018-12-20 08:04:12

标签: mysql

我正在尝试通过 mysql或ssh 创建新数据库,但同时出现错误

mysql : CREATE DATABASE porto;
  

错误:在ssh上拒绝用户'root'@'localhost'访问数据库'porto':错误1044(42000):拒绝访问'用户'root'@'localhost'对数据库'porto'

mysql> CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'ecomaddon@42';
  

错误1227(42000):访问被拒绝;您需要(至少其中一个)CREATE USER权限才能进行此操作

mysql> SELECT User,Host From mysql.user;
  

错误1142(42000):表'user'的用户'root'@'localhost'的SELECT命令被拒绝

这是特权问题,但不知道如何赋予root用户所有特权,ai尝试了所有方法但一无所获。

4 个答案:

答案 0 :(得分:0)

您可以尝试以root用户身份访问

mysql -h 127.0.0.1 -P 3306 -u root -p

如果仍然无法使用,请遵循本指南 https://www.a2hosting.com/kb/developer-corner/mysql/managing-mysql-databases-and-users-from-the-command-line

答案 1 :(得分:0)

您可能以root用户身份登录,但是您执行的操作不允许使用root @ localhost。

mysql>CREATE USER 'root'@'localhost' IDENTIFIED BY 'enter_your_password_here';
mysql>exit

然后尝试再次登录

答案 2 :(得分:0)

我认为这是供股问题,可以通过重新配置来解决。这是重新配置它的步骤。

  1. 停止当前的MySQL服务器实例: sudo服务mysql stop
  2. 使用dpkg重新运行MySQL首次安装时要经历的配置过程。再次要求您设置root密码。 sudo dpkg-重新配置mysql-server-5.5

答案 3 :(得分:0)

感谢所有回复 我解决了我 1.首先登录新用户。 2.通过update命令将所有访问权限授予该用户。 3.删除root用户并将第二个用户重命名为root。 主要问题是:当我们创建root时,它并没有赋予grant_priv字段访问用户。