备份MySQL数据库的命令
mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql
备份MySQL数据库为带删除表的格式
备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。
mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.sql
直接将MySQL数据库压缩备份
mysqldump -hhostname -uusername -ppassword databasename | gzip >
备份MySQL数据库某个(些)表
mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql
同时备份多个MySQL数据库
mysqldump -hhostname -uusername -ppassword –databases databasename1 databasename2 databasename3 > multibackupfile.sql
仅仅备份数据库结构
mysqldump –no-data –databases databasename1 databasename2 databasename3 > structurebackupfile.sql
备份服务器上所有数据库
mysqldump –all-databases > allbackupfile.sql
还原MySQL数据库的命令
mysql -hhostname -uusername -ppassword databasename < backupfile.sql
还原压缩的MySQL数据库
gunzip < | mysql -uusername -ppassword databasename
将数据库转移到新服务器
mysqldump -uusername -ppassword databasename | mysql –host=*.*.*.* -C databasename
附加代码:
Oracle
import java.io.IOException;
public class OracleBRTest {
// 使用系统用户导入导出数据
// exp userid=system/manager owner=username1 file=expfile.dmp
// imp userid=system/manager fromuser=username1 touser=username2 ignore=y
// file=expfile.dmp
// 根据当前用户来导入导出数据
// exp test/test@test full=y rows=y file=expfile.dmp
// imp test/test@test ignore=y file=expfile.dmp
public static void main(String[] args) {
try {
String user = "root";
String pwd = "123456";
String service = "info_platform";
String filepath = "d:\\sql\\";
String filename = "oaip0" + "2";
String dataFile = (new StringBuilder()).append(filepath).append(
"\\").append(filename).append(".dmp").toString();
String backupSQL = (new StringBuilder()).append(
"cmd /E:ON /c start exp userID=").append(user).append("/")
.append(pwd).append("@").append(service).append(" owner=")
.append(user).append(" full=y rows=y").append(" File='")
.append(dataFile).append("'").toString();
String RestoreSQL = (new StringBuilder()).append(
"cmd /E:ON /c start imp userID=").append(user).append("/")
.append(pwd).append("@").append(service).append(
" Fromuser=").append(user).append(" touser=")
.append(user).append(" ignore=y").append(" File=").append(
dataFile).toString();
System.out
.println("===========================================================");
System.out.println(backupSQL);
System.out
.println("exp userid=system/manager owner=username1 file=expfile.dmp");
System.out
.println("exp test/test@test full=y rows=y file=expfile.dmp");
System.out
.println("===========================================================");
System.out.println(RestoreSQL);
System.out
.println("imp userid=system/manager fromuser=username1 touser=username2 ignore=y file=expfile.dmp");
System.out.println("imp test/test@test ignore=y file=expfile.dmp");
System.out
.println("===========================================================");
Runtime rt = Runtime();
rt.exec(backupSQL);
/**
* 再进行还原数据库之前要进行做的事情: 1:关闭连接,重新以系统管理员的身份重新获得连接
* 即:conn.close();Connection conn1 = switchConnection("system", "system");
* 2:再以该连接对象删除当前用户 即:dropUser(conn1, user); 3:再以该连接对象创建当前用户
* 即:createUser(conn1, user);
*/mysql数据库迁移命令
// rt.exec(RestoreSQL);
/**
* 4:再恢复完成以后要关闭新建立的连接对象并切换连接对象 即:conn1.close(); conn =
* switchConnection(user, pwd);
*/
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 具体的删除用户,创建用户,切换连接对象的方法如下: 其中 SQLExcute类是一个管理各个SQL操作方法的类
* DBConnection类是一个管理连接对象的类
*/
/**
* public void createUser(Connection conn, String account) throws Exception {
* String sql = ""; SQLExcute excute = new SQLExcute(); DBConnection dbc =
* new DBConnection(); try { dbc.begninTrans(conn); sql = (new
* StringBuilder()).append("CREATE USER ").append(account).append("
* IDENTIFIED BY ").append(account).toString();
*
* uteUpdate(conn, sql); sql = (new
* StringBuilder()).append("GRANT CONNECT TO ").append(account).toString();
*
* uteUpdate(conn, sql); sql = (new
* StringBuilder()).append("GRANT DBA TO ").append(account).toString();
*
* uteUpdate(conn, sql); dbcmitTrans(conn); } catch
* (Exception ex) { llbackTrans(conn);
*
* throw new Exception(); } }
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论