我有一个奇怪的问题。我通过Docker使用Msql 8,并且可以通过IDE(如DataGrip)进行连接,以root用户身份连接到我的数据库。但只有根。我试图与非root用户建立连接,但即使具有所有特权也无法正常工作。
我以为创建新用户时做错了什么,但是在我的本地环境中,我可以使用非root用户连接到我的数据库。
这有效:
mysql --user=test mysql -p
特权:
| GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE, CREATE ROLE, DROP ROLE ON *.* TO `test`@`localhost` WITH GRANT OPTION |
| GRANT BACKUP_ADMIN,BINLOG_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,GROUP_REPLICATION_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SET_USER_ID,SYSTEM_VARIABLES_ADMIN,XA_RECOVER_ADMIN ON *.* TO `test`@`localhost` WITH GRANT OPTION
我知道有几个类似的问题,我都尝试过。但是他们都没有工作或改变了什么。
顺便说一句。我是这样创建用户的:
CREATE USER 'test'@'localhost' IDENTITY BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'test'@'localhost';