我想备份我们 MySQL 服务器上的所有数据库、用户等。
我遇到过这个命令mysqldump
,相信我可以这样使用它吗?(尝试将远程服务器备份到我们的本地机器)
mysqldump -h web-server.com -u root -p root --all-databases > "/backups/mysql/`date +%Y%m%d`.sql"
Run Code Online (Sandbox Code Playgroud)
然而:
我害怕在对发生的事情知之甚少的情况下运行它(我们在 MySQL 数据库上有很多数据,我们不能失去它!)。所以第一个问题是:这会做我想要的吗?登录远程服务器(web-server.com
例如位于)并将所有 mysql 数据库备份到/backups/mysql
本地机器上的路径?
我不相信这也会在 MySQL 服务器发生故障时保持每个数据库的所有用户信息完整无缺。用户信息是否只是作为另一个数据库存储在 MySQL 数据库中?还是服务器本身的功能?在这种情况下,是否有不同的方式可以备份数据库以包含用户数据?
1)是的,这会将所有数据库的内容转储为一系列 INSERT sql 命令,以便您可以使用mysql < backup.sql
. 纯粹为了可使用性,我建议您按数据库执行此操作,而不是使用,--all-databases
因为您会得到一个包含所有内容的大文件,并且不容易搜索。
您可能需要查看mysqldump
手册页,看看是否还有其他您想使用的选项。
2) 用户信息和访问控制存储在mysql
数据库中;--all-databases
确实包括那个。