备份 MySQL 服务器

Tho*_*son 6 backup mysql

我想备份我们 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)

然而:

  1. 我害怕在对发生的事情知之甚少的情况下运行它(我们在 MySQL 数据库上有很多数据,我们不能失去它!)。所以第一个问题是:这会做我想要的吗?登录远程服务器(web-server.com例如位于)并将所有 mysql 数据库备份到/backups/mysql本地机器上的路径?

  2. 我不相信这也会在 MySQL 服务器发生故障时保持每个数据库的所有用户信息完整无缺。用户信息是否只是作为另一个数据库存储在 MySQL 数据库中?还是服务器本身的功能?在这种情况下,是否有不同的方式可以备份数据库以包含用户数据?

Sha*_*dur 6

1)是的,这会将所有数据库的内容转储为一系列 INSERT sql 命令,以便您可以使用mysql < backup.sql. 纯粹为了可使用性,我建议您按数据库执行此操作,而不是使用,--all-databases因为您会得到一个包含所有内容的大文件,并且不容易搜索。

您可能需要查看mysqldump手册页,看看是否还有其他您想使用的选项。

2) 用户信息和访问控制存储在mysql数据库中;--all-databases确实包括那个。