无法在 mysql 或通过 ssh 创建数据库

Posted

技术标签:

【中文标题】无法在 mysql 或通过 ssh 创建数据库【英文标题】:unable to create database in mysql or via 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尝试了所有方法但一无所获。

【问题讨论】:

【参考方案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】:

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

    停止当前 MySQL 服务器实例: sudo 服务 mysql 停止 使用 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 字段访问用户。

【讨论】:

以上是关于无法在 mysql 或通过 ssh 创建数据库的主要内容,如果未能解决你的问题,请参考以下文章

通过 ssh 连接 mysql

mysql 无法连接 SSH 隧道 -> 拒绝访问“无”

PHP通过ssh或socks5读取远程服务器的mysql数据库

在 PHP 中通过 SSH 连接到 MySQL

无法使用 openssh 通过 Keys Auth 创建 SSH 会话,变得疯狂

无法通过 ssh 进入从快照创建的 ec2 实例