由于遇到了一些问题,我决定重新创建除root@localhost. 这工作正常,但新创建的用户无权执行任何操作。我想要的是简单地授予在某个本地 IP 上 root 的所有权限。我(作为root@localhost)试过
CREATE USER 'root'@'10.0.3.210';
GRANT ALL ON *.* TO 'root'@'10.0.3.210';
Run Code Online (Sandbox Code Playgroud)
第一个命令有效,第二个命令失败并显示消息
ERROR 1045 (28000): Access denied for user 'root'@'localhost'
Run Code Online (Sandbox Code Playgroud)
我不明白为什么root@localhost不能做所有事情,我确定我没有弄乱它的特权。从
SHOW GRANTS FOR 'root'@'localhost'
Run Code Online (Sandbox Code Playgroud)
我得到
Grants for root@localhost
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, REPLICATION SLAVE, REPLICATION CLIENT, CREATE USER ON *.* TO 'root'@'localhost' WITH GRANT OPTION
GRANT ALL PRIVILEGES ON `%`.* TO 'root'@'localhost' WITH …Run Code Online (Sandbox Code Playgroud) 我使用以下命令备份一些普通数据库:
mysqldump --host=host --user=user --password=passwd --result-file=result.sql -R --single-transaction database_name
Run Code Online (Sandbox Code Playgroud)
我的问题是:我还需要转储“mysql”数据库吗?请注意,在“恢复”它们之后,我将为每个数据库创建新用户。所以我不需要用户信息的“mysql”数据库。
谢谢
我正在使用 MySQL 5.6,我试图为特定数据库创建一个超级用户,但我得到了
ERROR 1396 (HY000): Operation CREATE USER failed for 'superuser'@'%'
Run Code Online (Sandbox Code Playgroud)
然后我想也许已经有一个用户名和密码相同。我刷新了权限并运行以下查询:
grant all privileges on db1.* to 'superuser'@'localhost'
Run Code Online (Sandbox Code Playgroud)
在该查询之后,我得到:ERROR 2013 (HY000): Lost connection to MySQL server during query
并且 MySQL 服务停止工作。