我只是想简单的备份某一个数据库所有内容(表,存储过程,视图等)
网上搜到的答案竟然垃圾的都不能执行成功,难道是版本问题???
如这个: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