通过mysql管理创建用户,但无法登录mysql命令行
以下是在线建议,作为root发布的
grant all on *.* to new_user;
它起了作用,但从安全角度讲,却是一团糟,所以发布了。
revoke all on *.* from new_user;
现在new_user仍然可以连接,但是安全性是正常的,就像mysql管理中设置的那样。
对我来说这完全是胡说八道。到底是怎么回事,你是如何真正启用登录的?
这似乎是一个MySQL管理员问题(谢谢@marco)。如果在mysql命令行中发出相同的授权,则用户可以登录;但授予是在Administrator中发出的,则用户无法登录。
使用'root'@10.0.1.15'登录MySQL时
我试图向用户授予SELECT, INSERT, UPDATE权限,但从MySQL获得此错误
Error Code: 1044. Access denied for user 'root'@'10.%' to database 'abc'
这是我用来授权的查询
GRANT SELECT, INSERT, UPDATE ON abc.* TO 'myUser'@'10.%';
因为当我为'root'@'10.%‘执行
这就是我如何直接从MySQL创建一个经过授权的、所有特权DB用户和相应的名称相同的DB实例的方法:
echo "CREATE USER "${domain}"@"localhost" IDENTIFIED BY \"${dbup}\";" | mysql -u root -p"${dbrp}"
echo "CREATE DATABASE ${domain};" | mysql -u root -p"${dbrp}"
echo "GRANT ALL PRIVILEGES ON
我不小心做了一些愚蠢的事情,并在mysql控制台中输入了以下内容:
mysql> grant all on myDB.* to root@'%' identified by 'root';
..。并且数据库配置对远程登录开放。现在,我需要删除此授权,但不希望意外地撤销我的root用户的所有特权,并有效地将我自己锁定在db admin之外。我该怎么办?
我正在尝试使用docker容器来处理mariadb和node.js图像。容器将使用/home/mysql中的现有数据库。然而,当容器启动时,我在node.js中得到了这个“连接失败”的错误:
Error: ER_HOST_NOT_PRIVILEGED:
Host '172.18.0.5' is not allowed to connect to this MariaDB server
这是我的docker-compose.yml:
version: '3'
services:
mariadb:
image: mariadb
restart:
我试图向新用户授予权限,并获得拒绝访问的错误。我以前这样做过很多次,没有问题,所以我很困惑为什么现在会发生这种情况。
我像这样登录到mysql:
sudo mysql -u root -p
我提供密码并无问题地获得访问权限。
我创建的用户没有问题:
CREATE USER 'root'@'newhost' IDENTIFIED BY 'password';
但是,在尝试授予权限时,我将得到拒绝访问的错误:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'root'@'
我和一个团队成员被难住了,因为向远程用户授予特权的命令失败了,但没有错误。使用CREATE user成功地将新用户添加到mysql.user,但是GRANT特权和FLUSH特权不会影响grants表。这两个命令都应该显示“查询OK。0行受影响”,但它们确实是这样做的。但是SHOW GRANTS不会显示新的权限,我们也不能从指定的远程ip使用该用户名登录。有人能解释一下下面的行为吗?
mysql> SELECT CURRENT_USER(); ///I'm definitely in as root user
+----------------+
| CURRENT_USE
MySQL 5.7.24 创建用户后,它可以 select count(*) from information_schema.Tables 然后得到50,比方说。而root@%可以用相同的SQL得到300。 根用户@%如何授权创建的用户选择information_schema.Tables中的所有条目。 如果我 grant select on information_schema.Tables to test_user; 上面写着: 1044 - Access denied for user 'root'@'%' to database 'inform
嗨,如果我使用mysql本身,我可以看到我的表和数据库,并且我检查了MySQL变量的端口,它和3306一样。 我不知道出了什么问题。我还为该用户授予了localhost权限。 这是它向我展示的屏幕截图: ? 我想我刚刚更新了我的PhpStorm,现在它不能工作了。 mysql> SELECT
-> user
-> FROM
-> mysql.user;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnec
我正在阅读O‘’Relly的“学习MySQL”,它说您可以通过以下操作在MySQL中创建一个用户:
mysql> GRANT ALL ON *.* TO 'jill'@'%.invyhome.com' IDENTIFIED BY 'the_password';
Query OK, 0 rows affected (0.01 sec)
但如果我试着做:
-> grant select on testgrounds.personas to ''@'localhost';
--> Error Code:
当我尝试创建数据库时,收到用户'@'localhost对数据库emp的访问被拒绝的错误
当我查询显示授权时
mysql> show grants;
+--------------------------------------+
| Grants for @localhost |
+--------------------------------------+
| GRANT USAGE ON *.* TO ''@'localhost' |
+----------------------------------
当我将所有权限授予刚创建的新根帐户时,会出现此错误。
产生问题的步骤:
CREATE USER 'root'@'localhost';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
SHOW GRANTS for 'root'@'localhost';
在“显示授权”之后,我收到错误消息"mysql没有为主机‘localhost’上的用户'root‘定义这样
我在mysql网站上安装了“MacOSX10.9 (x86,64位),DMG存档”,我不能以超级用户身份访问("mysql -uroot -p"),因为我不知道密码。有没有默认密码之类的?因此,我以匿名身份访问mysql,以便在命令行上使用“ud./mysqld_safe --skip-grant-tables”。我试过了
update user set password=PASSWORD("mynewpassword") where User='root';
用于重置root密码的查询。然而,有趣的是密码字段被弃用了。但是,还有另一个命令可以使
我使用根用户从PHP连接到MySQL。连接对象为$con。连接是成功的。
我想选择一个特定的数据库,所以我使用了mysql_select_db('database', $con),但是我得到了一个'Access denied for user '@'localhost' to database'错误。
我不明白为什么会有一个访问被拒绝的错误,因为我正在使用root用户。我反复检查了根的授权,它有所有的特权..。我能够通过命令行客户机使用root执行对这个特定数据库的查询。我正在本地的机器上运行所有的东西。
我以root用户身份登录,并且刚刚重新安装了mysql服务器。当我执行SELECT * FROM mysql.user;时,login_manager并没有被创建。我现在执行 CREATE USER 'login_manager'@'localhost' IDENTIFIED BY 'login_manager';,当我检查用户是否已创建时,我可以找到它。正在执行中 GRANT INSERT
ON clients
TO login_manager; 其中client是一个表格,它给出了我在标题中输入的错误。在创建用户之后执行FL