Linux数据库备份(&遇到的各种坑)

1 篇文章 0 订阅

数据库备份执行命令行,其实很简单,目前通过连接数据库常用工具xshell工具操作即可。

 

详细操作步骤如下:

1.连接服务器之后,无需同通过mysql -u -p 进入数据库;

2.通过执行命令行:mysqldump -u -p  数据库名 > 保存的目录

   如:账号:root   密码:test123  数据库:table_c    保存目录:/home/mysql/

   执行命令:mysqldump -uroot -ptest123   table_c   >  /home/mysql/20210318.sql  即可

3.通常首次执行该命令时会报如下错误:Warning: Using a password on the command line interface can be insecure.

    遇到该提示,莫慌,命令虽然执行成功了,数据表也生成了,但是文件中没有任何的数据;接下来看看怎么办

   cd 进入到根目录下 /etc,vim进入my.cnf 中,在[mysqldump]下添加 (具体怎么编辑文件,我相信都知道哈,真不知道,按a就行,直接进入编辑模式)

  user=root

  password=test123

 注意: 如果my.cnf 中没有没有[mysqldump],那就拉倒最下方,自行添加[mysqldump],然后在输入以上的用户名和密码

4.然后在执行命令行:mysqldump -uroot -p  table_c   >  /home/mysql/20210318.sql (注意:-p后面不需密码)

执行之后,提示会让你密文输入密码,输入之后回车即可。


正常情况是执行成功了,但是,你真以为有时候能结束了吗?非也非也,如没成功,且继续往下看。

今天就踩了一个这样的坑;折腾了我两个小时。

在你执行完第一步之后,确实成功了,也没有报错,哦吼,去查看生产的备份文件,下载一看,0KB,数据呢?正在运行的数据库怎么可能是0KB;

反思,再去检查一遍,上网查询,看了十多篇文章,没有遇到过这类的问题;又执行了一次命令,文件有东西了,打开一看,都是乱码似的;

注意细节,文件中有一个报错的数字,10开头的,具体多少忘了,拿着这个搜索,看了几篇文章,注意到一个细节:

把命令行:mysqldump -uroot -p  table_c   >  /home/mysql/20210318.sql 修改为:mysqldump -uroot -p   --databases table_c   >  /home/mysql/20210318.sql 然后就成功了

后来仔细了解了一下,大致意思是,如果没有加 --databases,就没有指向到具体的数据库,所以需要添加上,还第一次遇到这类情况,几分钟的事情,浪费了两个小时,不过今日多踩坑,为了明日少踩坑。

 

如果对各位有帮助,飘过的同时点个赞也行;如有问题,多多指教哈。

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>