我只是想简单的备份某一个数据库所有内容(表,存储过程,视图等)

网上搜到的答案竟然垃圾的都不能执行成功,难道是版本问题???

如这个:https://www.cnblogs.com/adolfmc/p/9822389.html ,列子举得很详细,但是第一条测试就失败了,,,,竟然让用-database,不知道啥版本是这样的,反正我的提示错误:mysqldump: [ERROR] mysqldump: unknown option '-b'

正确语句应该是:

mysqldump -u你的账号 -p你的密码 --databases 你的数据库名称 > \你的文件目录\你的备份文件名称.sql

注意是--databases,不是--database(缺少s),也不是-databases(前缀应是双横杠--)。

这种方式可以备份成功,但是会提示:mysqldump: [Warning] Using a password on the command line interface can be insecure.

意思是你把密码直接明文写出来了,存在密码泄露隐患。

如果是手动备份,你可以用不明文显示密码的方式:

mysqldump -u你的账号 -p --databases 你的数据库名称 > \你的文件目录\你的备份文件名称.sql

这样按下enter键后会提示你再输入密码。(这种就跟大多数输入密码方式一致了,输入密码时光标不动,但不代表没有输入,正常输入即可,输完再按enter)

 

 还原倒是很容易,直接执行成功:

mysql -u 你的账号-p < \你备份的数据库名称.sql

 

因为我的mysql安装在docker里,所以需要先登录进docker容器里才能执行mysql命令:

docker exec -it 你的docker容器名称(或容器id) bash