【问题标题】:unable to create database in mysql or via ssh无法在 mysql 或通过 ssh 创建数据库
【发布时间】:2019-05-20 17:37:33
【问题描述】:

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

mysql : CREATE DATABASE porto;

错误:用户 'root'@'localhost' 在 ssh 上对数据库 '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;

ERROR 1142 (42000): SELECT 命令拒绝用户 'root'@'localhost' 用于表 'user'

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

【问题讨论】:

    标签: mysql


    【解决方案1】:

    您可以尝试以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

    【讨论】:

    • 连接 mysql mysql 后出现错误> CREATE DATABASE porto;错误 1044 (42000):拒绝用户 'root'@'localhost' 访问数据库 'porto'
    • 尝试检查您的 phpmyadmin 上的 root@localhost 权限
    • 我了解它的特权问题,但不知道如何为所有人授予它。它不在那里工作。我正在尝试创建新用户,但仍然无法正常工作。
    • 我可以访问我试图从 mysql 端创建一个新数据库,但仍然相同的访问被拒绝错误
    • 尝试阅读这篇文章a2hosting.com/kb/developer-corner/mysql/… 并告诉我是否适合你
    【解决方案2】:

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

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

    然后尝试再次登录

    【讨论】:

    • mysql> CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'nothing@aa';错误 1227 (42000):访问被拒绝;您需要(至少一个)CREATE USER 权限才能执行此操作
    • 将*.*上的所有权限授予'root'@'localhost'; (请在“on”之后和“to”之前添加空格)
    • ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
    • 我多么希望我能看到这个结果:SELECT User, Host, authentication_string FROM mysql.user;
    • 当我尝试选择查询时它仍然显示拒绝错误
    【解决方案3】:

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

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

    【讨论】:

    • 我无法获得 2 步。请你给我解释一下简单的方法。
    • 您使用的是 windows 还是 Ubuntu?
    • 首先使用 sudo apt list --installed 检查你的包名,然后找出一个 mysql-server 包。使用这个包名运行 sudo dpkg-reconfigure package_name 命令。
    【解决方案4】:

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

    【讨论】:

      猜你喜欢
      • 2012-10-05
      • 2018-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-30
      • 1970-01-01
      • 2013-08-06
      相关资源
      最近更新 更多