MySql的备份命令
专业成都网站建设公司,做排名好的好网站,排在同行前面,为您带来客户和效益!创新互联建站为您提供成都网站建设,五站合一网站设计制作,服务好的网站设计公司,成都网站制作、成都网站设计负责任的成都网站制作公司!
myisam引擎
#mysqldump -uroot -pxxx -A -B -F --master-data=2 -x --events /opt/name.sql.gz
innodb引擎
#mysqldump -uroot -pxxx -A -B -F --master-data=2 --events --single-transaction | gzip/opt/name.sql.gz
--master-data 这个参数在建立slave数据库的时候会用到,当这个参数的值为1的时候,mysqldump出来的文件就会包括CHANGE MASTER TO这个语句,CHANGE MASTER TO后面紧接着就是file和position的记录,file和position记录的位置就是slave从master端复制文件的起始位置。默认情况下这个值是1 当这个值是2的时候,chang master to也是会写到dump文件里面去的,但是不会有上面那个作用了 --master-data=1 (--master-data=2注释) 表示在dump过程中记录主库的binlog和pos点,并在dump文件中不注释掉这一行,即恢复时会执行; -F 切割binlog参数
-A 备份所有库 -B, --databases 备份数据时使用-B参数,会在备份数据中增加建库及use库的语句 使用-B参数,后面可以接多个库,否则只能有一个库,之后的都被认为是表
--single-transaction 适合innodb事务数据库备份(可代替锁表) 设置事务的隔离级别为可重复读,即REPEATABLE READ,这样能保证在一个事务中所有相同的查询读取到同样的数据,也就大概保证了在dump期间,如果其他innodb引擎的线程修改了表的数据并提交,对该dump线程的数据并无影响. :InnoDB 表在备份时,通常启用选项 --single-transaction 来保证备份的一致性,实际上它的工作原理是设定本次会话的隔离级别为:REPEATABLE READ,以确保本次会话(dump)时,不会看到其他会话已经提交了的数据。
-x,--lock-all-tables Locks all tables across all databases. This is achieved by taking a global read lock for the duration of thewhole dump. Automatically turns --single-transaction and --lock-tables off.
-l, --lock-tables Lock all tables for read.
su -oracle
#输入密码
exp 用户名/密码@IP/sid file=导出路径\要导出的表.dmp tables=要导出的表
步骤如下:
一、编写备份数据库的shell
1、创建保存shell文件的文件夹,
2、文件内容为:
#!/bin/sh
PATH=$PATH:$HOME/bin
export PATH
ORACLE_BASE=/u01/app/oracle
export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_HOME
ORACLE_SID=HRDB
export ORACLE_SID
PATH=/usr/sbin:$PATH
PATH=$ORACLE_HOME/bin:$PATH
export PATH
exp fact/fact file=/backup/fact`date +%y%m%d`.dmp
log=/backup/factlog`date +%y%m%d`.log
shell文件编写完毕
一、运行以上的shell文件
看是否能生成备份的.dmp文件,如果能则表示shell文件编写成功
二、然后在此shell
文件的所在终端输入命令,将此文件授权让root用户可以执行:
三、命令为:chmod +x backup.sh
四、然后到root终端编写定时备份的语句
五、语句为:crontab –e
六、输入i
七、输入10 17 ,,,/home/backupscript/backup.sh
八、按下esc建,输入:wq 退出并保存即可。
Ubuntu下使用MySql命令导入/导出*.sql文件 ( redhat的mysql命令在: /usr/local/mysql/bin/ 目录下面 )导出: 1.导出整个数据库 mysqldump 数据库名 导出的文件名 -u 用户名 -p密码 2.导出一个表 mysqldump 数据库名 表名 导出的文件名 -u 用户名 -p密码导入:在提示符下输入 mysql -u root -p 密码 进入MYSQL后: 先打开要导入的数据库 mysqluse test; 然后,设置要导入的数据的编码(如果MySQL默认编与要导入的数据编码一致,此步可省略) mysqlset names 编码格式(utf8或gbk); 最后,导入数据sql文件 mysql source c:/test.sql; Windows下使用MySql命令导入/导出*.sql文件 1. 导出数据库: D:\mysql\bin mysql 数据库名 导出的文件名 -u 用户名 -p密码 2. 导入数据库: