linux mysql 数据按表名称备份

1、按表名称备份

#!/bin/bash

#user

#数据库用户

dbuser="root"

#数据库密码

dbpassword="chenyong"

#时间

date=$(date +%Y%m%d)

#数据库名称

dbname=sungrowv3

#备份数据保存的路劲

url=/home/test/sql/

#指定数据库的所以表

tables=$(mysql -u$dbuser -p$dbpassword -ss -e "use $dbname;show tables;")

if [ ! -d $url ];then

mkdir -p $url

fi

cd $url

for t in $tables

do

mysqldump -u$dbuser -p$dbpassword $dbname $t > $t.sql

done

mysqldump -u$dbuser -p$dbpassword $dbname > $dbname.sql

zip -m /home/test/$dbname‘_‘$date.zip ./*

cd ../

rm -rf sql

时间: 2024-12-17 10:24:24

linux mysql 数据按表名称备份的相关文章

linux mysql 数据按表明备份备份

1.按表名称备份 #!/bin/bash #user #数据库用户 dbuser="root" #数据库密码 dbpassword="chenyong" #时间 date=$(date +%Y%m%d) #数据库名称 dbname=sungrowv3 #备份数据保存的路劲 url=/home/test/sql/ #指定数据库的所以表 tables=$(mysql -u$dbuser -p$dbpassword -ss -e "use $dbname;sho

linux MySQL 如何复制表数据或表结构到新表中

经常操作xshell 发现,复制同样的功能,需要复制数据表的结构和数据,linux MySQL 如何复制表数据或表结构到新表中? 1.MySQL复制表结构及数据到新表的方法 CREATE TABLE new_table SELECT * FROM old_table; 2,只复制表结构到新表 CREATE TABLE new_table like old_table; 注意:还一种方法,但是不复制列属性和索引 CREATE TABLE new_table SELECT * FROM old_ta

MySQL 拷贝数据库表方式备份,还原后提示 table xxx '' doesn`t exist

MySQL很强大,支持直接拷贝数据库文件快速备份,那数据库文件在哪里呢? 打开MySQL的配置文件 my.ini,找到 datadir 节点,如 datadir="D:/Program Files/MySQL/MySQL Server 5.1/data" 进入上述文件夹,就可以看到MySQL中新建的数据库文件夹了,每个文件夹以数据库名命名的,你想备份哪个数据库,把这个文件夹拷贝走即可.到时还原数据库,把它拷贝到data目录下即可,就这么简单! 但是,今天在一台MySQL服务器上拷贝备份

mysql 针对单张表的备份与还原

A.MySQL 备份工具xtrabackup 的安装 1. percona 官方xtrabackup 的二进制版本:二进制版本解压就能用了. 2. 解压xtrabackup & 创建连接 tar -xzvf percona-xtrabackup-2.3.4-Linux-x86_64.tar.gz -C /usr/local/ ln -s /usr/local/percona-xtrabackup-2.3.4 /usr/local/xtrabackup 3. 设置PATH环境变量 export P

MySQL数据库 分表分库备份及批量恢复如何进行?

脚本实现 #!/bin/bash for db_name in `mysql -e "show databases;"|sed 1d` do mkdir -p /backup/$db_name for table_name in `mysql -e "show tables from $db_name"|sed 1d` do /application/mysql/bin/mysqldump  --master-data=2 $db_name $table_name

mysql数据库命令大全---完全备份和恢复

数据完全备份[[email protected] ~]# mysqldump -uroot -pabc123 --databases school > /opt/school.sql 删除库mysql> drop database school;查看数据库mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | p

linux mysql不区分表名大小写配置

原来Linux下的MySQL默认是区分表名大小写的,通过如下设置,可以让MySQL不区分表名大小写:1.用root登录,修改 /etc/my.cnf:2.在[mysqld]节点下,加入一行: lower_case_table_names=1(值为0时区分大小写)3.重启MySQL即可: MySQL在Linux下数据库名.表名.列名.别名大小写规则是这样的:1)数据库名与表名是严格区分大小写的:2)表的别名是严格区分大小写的:3)列名与列的别名在所有的情况下均是忽略大小写的:4)变量名也是严格区分

使用linux mysql客户端建立表时遇到格式解析的问题

发现在notepad++写好的建表脚本,粘贴到linux客户端后,执行时总是报我的脚本有问题. 我看了又看,发现建表脚本本身是没有问题,问题出在"Tab"键上和注释上边了. 解决办法是,将"tab"的换成空格,同时在--与注释的文字中,添加空格做分隔,脚本如下: create table imei_info_harklee -- 上报imei数据 ( id int not null auto_increment, -- 主键,自增 channel int not n

MySQL数据库及表的备份与还原

备份 导出数据库所有表结构 mysqldump -uroot -ppassword -d dbname > db.sql 导出数据库某个表结构 mysqldump -uroot -ppassword -d dbname tablename > db.sql 导出数据库所有表结构及数据 mysqldump -uroot -ppassword dbname > db.sql 导出数据库某个表结构及数据 mysqldump -uroot -ppassword dbname tablename