备份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小时内删除。