无法在 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 创建数据库的主要内容,如果未能解决你的问题,请参考以下文章
PHP通过ssh或socks5读取远程服务器的mysql数据库