01 前言
这是一段价值10元的脚本,工作中经常会用到...
02 实现过程
进入mysql中查看库名
mysql -uroot -p’root’
show databases;
如下图
图1 命令行进入MySQL或者可以不进入MySQL中,直接在命令行中显示,用以下命令
mysql -uroot -p’root’ -e ”show databases;”
效果见下面图2
图2 命令行显示数据库名这里比如说我不想要哪些框,以及Database,information_schema这几行,可以借助sed工具来实现
mysql -uroot -p’root’ -e ”show databases;”|sed 1,2d
这样我就基本得到数据库的库名了
接下来就可以备份数据库了,用mysqldump这个命令,以备份confluence为例
mysqldump -uroot -p’root’ -B confluence
这里突然报错了:
mysqldump: unknown option '--no-beep'
我安装的是mysql 5.7版本,在网上查阅资料说有两种解决办法
1 在my.cnf 配置文件下删除no-beep参数
2 在mysqldump 后追加 --no-defauluts参数
第2中方法我试了没成功。改用第一中办法,并重启mysql
mysqldump -uroot -p’root’ -B confluence
如果不想这些显示,可以讲这些保存到sql中,即备份文件
mysqldump -uroot -p’root’ -B confluence > confluence.sql
现在通过脚本来实现,新建一个脚本名为mysqlbackup.sh
vim mysqlbackup.sh
脚本如下:
将需备份的数据库名抓取出来,并赋值给databasename变量,通过for循环依次执行备份命令操作
查看是否已备份成功,可以看到已备份成功(都是有数据的)
03 总结
这是一段绝对价值10元的脚本,工作中经常用的到,反倒是分表备份我觉得不是那么常用(主要是一般表都太多了),新技能get!!!
网友评论