我已经阅读了很多教程并尝试了很多东西。
我有一个使用 mysqldump 备份的所有数据库的单个 sql 文件(50+)。
当我尝试使用 root 帐户恢复数据库时 - 它们恢复得很好,但具有权限的用户似乎没有被延续。
我无法手动创建每个用户,因为有超过 50 个数据库,并且我不知道每个数据库的密码,也不知道谁拥有哪个数据库,或者每个数据库的用户权限是什么。
我读过无数关于这个主题的教程,但找不到正确的方法来从转储中恢复用户密码和权限。导入后似乎除了 root 作为所有者之外没有其他用户。如果我刷新权限,那么 root 根本无法访问数据库,也无法从命令行访问 mysql。
我完全搞不懂这是如何做到的。
我能找到的唯一命令是
mysql -u root < db_backup.sql
或者
mysql -u root -p < db_backup.sql
这两个选项似乎都不会继承用户、密码和权限
当我进行备份时,它很简单:
mysqldump -u root –all-databases > db_backup.sql
是不是我在备份时做错了什么,没有带用户名、密码和权限,还是我在恢复过程中做错了什么?
* 更新 *
如果我发出:
show databases;
显示所有数据库。
如果我发出:
select user from mysql.user;
显示所有用户。
但是所有用户都无法访问任何数据库。