‘壹’ linux怎么拷贝mysql数据库
1、MySQL数据库导出 /usr/local/mysql/bin/mysqlmp -u root -p123456 test> /home/backup/test.sql 其中:root为数据库用户名 123456为对应root数据库密码 test是需要导出的数据库名。 /home/backup/test.sql是数据库文件sql导出的路径。
‘贰’ linux命令,mysql批量导出多个数据库。单个的是mysqlmp -uroot - p 库名 > /***/***.sql;
MySql的备份命令
myisam引擎
#mysqlmp -uroot -pxxx -A -B -F --master-data=2 -x --events >/opt/name.sql.gz
innodb引擎
#mysqlmp -uroot -pxxx -A -B -F --master-data=2 --events --single-transaction | gzip>/opt/name.sql.gz
--master-data 这个参数在建立slave数据库的时候会用到,当这个参数的值为1的时候,mysqlmp出来的文件就会包括CHANGE MASTER TO这个语句,CHANGE MASTER TO后面紧接着就是file和position的记录,file和position记录的位置就是slave从master端复制文件的起始位置。默认情况下这个值是1 当这个值是2的时候,chang master to也是会写到mp文件里面去的,但是不会有上面那个作用了 --master-data=1 (--master-data=2注释) 表示在mp过程中记录主库的binlog和pos点,并在mp文件中不注释掉这一行,即恢复时会执行; -F 切割binlog参数
-A 备份所有库 -B, --databases 备份数据时使用-B参数,会在备份数据中增加建库及use库的语句 使用-B参数,后面可以接多个库,否则只能有一个库,之后的都被认为是表
--single-transaction 适合innodb事务数据库备份(可代替锁表) 设置事务的隔离级别为可重复读,即REPEATABLE READ,这样能保证在一个事务中所有相同的查询读取到同样的数据,也就大概保证了在mp期间,如果其他innodb引擎的线程修改了表的数据并提交,对该mp线程的数据并无影响. :InnoDB 表在备份时,通常启用选项 --single-transaction 来保证备份的一致性,实际上它的工作原理是设定本次会话的隔离级别为:REPEATABLE READ,以确保本次会话(mp)时,不会看到其他会话已经提交了的数据。
-x,--lock-all-tables Locks all tables across all databases. This is achieved by taking a global read lock for the ration of thewhole mp. Automatically turns --single-transaction and --lock-tables off.
-l, --lock-tables Lock all tables for read.
‘叁’ linux mysql如何导出数据
Linux下 MySql导出
1、导出整个数据库中的所有数据
mysqlmp -u userName -p dabaseName > fileName.sql
2、导出数据库中的某个表的数据
mysqlmp -u userName -p dabaseName tableName > fileName.sql
3、导出整个数据库中的所有的表结构
mysqlmp -u userName -p -d dabaseName > fileName.sql
【注】fileName.sql最好加上路径名
‘肆’ Linux系统下mysqmp在导出数据时,没有指定任何目录,那么导出的文件默认存放在哪里呢
使用mysqlmp命令导出.sql文件
(1)导出整个数据库的数据
mysqlmp -u 用户名 -p 数据库名称>存放位置+导出的文件名称
(2)导出某个表的数据
mysqlmp -u 用户名 -p 数据库名称 表名>存放位置+导出的文件名称
(3)导出某个表的结构
mysqlmp -d -u 用户名 -p 数据库名称 表名>存放位置+导出的文件名称
(4)导出数据库的结构
mysqlmp -u 用户名 wcnc -p -d --add-drop-table smgp_apps_wcnc>存放位置+导出的文件名称
-d没有数据 --add-drop-table 在每个create语句之前增加一个drop table
(5)远程导出数据库的数据
mysqlmp -h ip -u 用户名 -p 数据库名称>存放位置+导出的文件名称
‘伍’ linux中怎么把mysql数据库导出
一、导出数据库用mysqlmp命令(注意mysql的安装路径,即此命令的路径):
1、导出数据和表结构:
mysqlmp -u用户名 -p密码 数据库名 > 数据库名.sql
#/usr/local/mysql/bin/ mysqlmp -uroot -p abc > abc.sql
敲回车后会提示输入密码
2、只导出表结构
mysqlmp -u用户名 -p密码 -d 数据库名 > 数据库名.sql
#/usr/local/mysql/bin/ mysqlmp -uroot -p -d abc > abc.sql
注:/usr/local/mysql/bin/ ---> mysql的data目录
二、导入数据库
1、首先建空数据库
mysql>create database abc;
2、导入数据库
方法一:
(1)选择数据库
mysql>use abc;
(2)设置数据库编码
mysql>set names utf8;
(3)导入数据(注意sql文件的路径)
mysql>source /home/abc/abc.sql;
方法二:
mysql -u用户名 -p密码 数据库名 < 数据库名.sql
#mysql -uabc_f -p abc < abc.sql
建议使用第二种方法导入。
注意:有命令行模式,有sql命令
‘陆’ Linux系统下怎么把MySQL的数据库拷贝出来
#!/bin/sh
#备份web文件到/www/backup 下
rm -rf /www/backup/checkic* #删除以前备份文件
#获得时间格式如 2014-11-07
bdate=`date +%Y-%m-%d`
echo $bdate
#判断web文件是否存在
if [ -d /www/backup/default ]
then
rm -rf /www/backup/default
echo "删除文件成功!"
cp -r /www/web/default /www/backup/default #复制checkic文件到 /backup
echo "复制文件成功"
else
cp -r /www/web/default /www/backup/default #复制checkic文件到 /backup
echo "复制文件成功"
fi
#判断web文件是否存在
if [ -d /www/backup/default ]
then
mkdir /www/backup/default/db
echo "成功创建db文件夹"
else
echo "db文件夹没有成功创建"
exit 0
fi
#备份数据库
mysqlmp -u root -pcheckic2014 wpshop_checkic>/www/backup/default/db/checkic-${bdate}.sql
cd /www/backup/default
tar -cvzf /www/backup/checkic-${bdate}.tar.gz *
‘柒’ 分别在Linux和Windows下,如何使用MySql命令导入/导出*.sql文件
Ubuntu下使用MySql命令导入/导出*.sql文件 ( redhat的mysql命令在: /usr/local/mysql/bin/ 目录下面 )导出:
1.导出整个数据库
mysqlmp 数据库名 > 导出的文件名 -u 用户名 -p密码
2.导出一个表
mysqlmp 数据库名 表名 > 导出的文件名 -u 用户名 -p密码导入:在提示符下输入
mysql -u root -p 密码
进入MYSQL后:
先打开要导入的数据库
mysql>use test;
然后,设置要导入的数据的编码(如果MySQL默认编与要导入的数据编码一致,此步可省略)
mysql>set names 编码格式(utf8或gbk);
最后,导入数据sql文件
mysql> source c:/test.sql;
Windows下使用MySql命令导入/导出*.sql文件 1. 导出数据库:
D:\mysql\bin> mysql 数据库名 > 导出的文件名 -u 用户名 -p密码
2. 导入数据库: