我正在单独的mySQL数据库上进行测试,我想为该数据库安装一个测试用户'john'。问题是用户存在于另一个测试数据库中以用于其他项目。我想在我所有不同的测试数据库中使用一个用户'john'作为我的主机'localhost',但它不会让我,因为该用户存在于不同的数据库中。
有没有办法让我的用户'john'用于我的所有测试数据库,或者每次我想测试某些东西时是否需要创建不同的用户?因为它已经存在,我试图使用它,但访问被拒绝。
我的意思是,我每次想要处理不同的项目时都可以创建新用户,或者测试其他项目,但这似乎是不必要的,也是不可取的。
TIA:)
答案 0 :(得分:1)
首先检查您当前的权利;
mysql> show grants for 'john'@'localhost';
+--------------------------------------------------------------------------------------------+
| Grants for john'@'localhost |
+--------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'john'@'localhost' IDENTIFIED BY PASSWORD '0cdf93684d757e1f' |
| GRANT ALL PRIVILEGES ON `test_database_1`.* TO 'john'@'localhost' WITH GRANT OPTION |
+--------------------------------------------------------------------------------------------+
然后做一个'全部'。如果省略密码,那么mysql将保留当前密码;
mysql> grant all on *.* to 'john'@'localhost';
Query OK, 0 rows affected (0.01 sec)
mysql> show grants for 'john'@'localhost';
+-----------------------------------------------------------------------------------------------+
| Grants for stubby@127.0.0.1 |
+-----------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'john'@'localhost' IDENTIFIED BY PASSWORD '0cdf93684d757e1f' |
| GRANT ALL PRIVILEGES ON `test_database_1`.* TO 'john'@'localhost' WITH GRANT OPTION |
+-----------------------------------------------------------------------------------------------+
那应该这样做。
答案 1 :(得分:0)
你需要在MySQL提示符下尝试这样的东西。
GRANT ALL PRIVILEGES ON *.* TO john@localhost identified by 'johnspassword';
flush privileges;
同时检查this。