mysqllinux导出数据库
1 不停数据库写的情况下,也可以使用 mysqlmp 导出,但因为 mysqlmp 导出时会加表锁(lock tables table_name read;),导出过程中会阻塞写(应用程序的写数据库或其他情况的写),不会影响读。
2 导入一个备份后,还要继续同步备份的操作,那必须结合同步来进行,先导出导入数据(导出时注意加上 --master-data 选项,或导出前 show master status 记下日志名称和位置),再配置同步,并启动同步;
3 日志记录的编号,也就是 position,可以在导出前查询,也可以在导出时加 --master-data 选项一并进行;
-- 几个注意事项:
1 导出会加表锁(这是服务器级的读锁),如果数据库较大,可能会影响业务;较小的话,可以在数据库本机进行导出,时间很快;
2 大数据库一定要做个备份机(即replication的slave),同步会涉及到数据的一致性(备份、启用同步)问题,可以深入理解下;
❷ linux下里的mysql数据库怎么导出
根据报错,排除问题,启动mysql,不然没发到数据吧。
❸ 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数据库
一、导出:用mysqlmp命令行命令格式mysqlmp -u 用户名 -p 数据库名 > 数据库名.sql范例:mysqlmp -u root -p abc > abc.sql (导出数据库abc到abc.sql文件) 提示输入密码时,输入该数据库用户名的密码。 二、导入:用mysql命令行命令格式mysql -u 用户名 -p 数据库名 三、直接COPY 如果数据库比较大,可以考虑用直接拷贝的方法,但不同版本和操作系统之间可能不兼容,要慎用。 3.1 将原始数据库用tar打包为一个文件 tar -zcvf mydb.tar.gz mydb 3.2 创建空数据库 3.3 解压在临时目录中解压,如:cd /tmptar -zxvf mydb.tar.gz 3.4 拷贝将解压后的数据库文件拷贝到相关目录cd mydb/cp * /var/lib/mysql/mydb/ 对于FreeBSD: cp * /var/db/mysql/mydb/ 3.5 权限设置 将拷贝过去的文件的属主改为mysql:mysql,权限改为660 chown mysql:mysql /var/lib/mysql/mydb/*
❺ 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如何导出数据
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系统下怎么把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系统中mysql数据库的导入和导出
目的:将服务器的mysql中的数据导入到本地
设备:本地:Mac。
远程服务器:linux
使用ssh登录服务器
mysqlmp
-u
[username]
-p
[database_name]
>
[/path/mpfilename.sql]
例如:`mysqlmp
-u
root
-p
mywordpress
>
/var/mywordpress.sql
在Mac上使用软件filezilla将第2步导出的mywordpress.sql下载到本地
mysql
-u
[username]
-p
[database_name]
<
[mpfilename.sql]
其中,database_name需要是本地数据库中已存在的数据库,比如新建一个。