本文目录一览:
linux系统下mySQL数据库 备份方法和脚本?
方法一、适合所有格式的mysql数据库,通过对数据库导出导进写个脚本定时执行:
1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc /存放路径/wcnc.sql
2.导出一个表 mysqldump -u 用户名 -p 数据库名 表名 导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc users /存放路径/wcnc_users.sql
3.导出一个数据库结构 mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc /存放路径/wcnc_db.sql
定义:
-d 没有数据
--add-drop-table 在每个create语句之前增加一个drop table
4.导入数据库 常用source 命令 进入mysql数据库控制台:
如mysql -u root -p mysqluse 数据库
方法二、针对mysql数据表格式为MyISAM的
假如数据文件在/var/lib/mysql
那么直接写个脚本
cp -r /var/lib/mysql /备份到的文件夹路径
隔机备份用rsync增量,或定时完整备份。
linux中怎么从mysql中导出sql脚本
首先你需要一个mysql的帐号,比如root/root
然后mysqldump -uroot -proot 数据库名 db_name.sql
这样你的数据库就导成sql脚本了
如果解决了您的问题请采纳!
如果未解决请继续追问!
求写一个 Linux 下 对mysql的操作脚本
简单的看了一下
第一,第六行a=
awk
'nr==2{print
$1}'
testsss.log
这里是否没有加``,另外shell下赋值在等号两侧是不允许有空格的,这个不知道是不是你贴在里面显示的错误
第二,$sqlw取出来的应该就已经是id3的了,那么你在for循环里的判断if
[
"$num"
-gt
"3"
]应该进不去,所以循环里是不会走到if里去的,你可以在if外面打印一下$num的值看看。