我正在尝试在mysql中创建新用户,并授予他使用一个表的权限。
我用过的命令:
CREATE USER 'integration'@'%' IDENTIFIED BY 'integration1';
GRANT SELECT, INSERT, ALTER, UPDATE, CREATE, DROP ON testdb.testtable TO 'integration'@'%';
FLUSH PRIVILEGES;
但遗憾的是我无法使用正确的凭据连接到数据库:
mysql.exe -uintegration -pintegration1 testdb
答案 0 :(得分:1)
如果您在本地连接,则必须添加用户@localhost。
CREATE USER 'integration'@'localhost' IDENTIFIED BY 'integration1';
GRANT SELECT, INSERT, ALTER, UPDATE, CREATE, DROP ON testdb.testtable TO 'integration'@'localhost';
FLUSH PRIVILEGES;
答案 1 :(得分:1)
问题在于MySQL有其特定的方式来处理来自连接源的主机。通常localhost
不属于'%'
。尝试使用此命令进行连接:
mysql.exe -uintegration -pintegration1 -h127.0.0.1 testdb
这将启动用户'integration'@'127.0.0.1'
而非'integration'@'localhost'