多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內(nèi)最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當前位置:首頁 > 數(shù)據(jù)庫 > 數(shù)據(jù)庫應用 > mysql學習筆記之十六(數(shù)據(jù)庫維護)

mysql學習筆記之十六(數(shù)據(jù)庫維護)

來源:程序員人生   發(fā)布時間:2015-06-01 08:28:41 閱讀次數(shù):3025次
數(shù)據(jù)備份
    數(shù)據(jù)損失緣由:存儲介質(zhì)鼓掌,用戶操作毛病(誤刪除全部數(shù)據(jù)庫),服務器完全癱瘓
    1、文件復制
        需要先停止服務器服務,在停止之前,履行flushtables將所有數(shù)據(jù)寫入到數(shù)據(jù)文件,停止以后,將數(shù)據(jù)文件拷貝到其他地方
        只合適MyISAM存儲引擎,對其他引擎其實不適合
    2、mysqldump
        mysqldump將包括數(shù)據(jù)的表結(jié)構(gòu)和數(shù)據(jù)內(nèi)容保存在相應的文本文件。具體履行時,首先檢查備份數(shù)據(jù)的表結(jié)構(gòu),在相應的文本文件中生成create語句。然后檢查數(shù)據(jù)內(nèi)容,在相應的文本文件中生成insert into 語句。將來需要進行還原時,只需要履行文本文件中的create和insert into
        3種情勢:
            備份1個數(shù)據(jù)庫
                mysqldump -u username -p dname table1,table2,... >backupname.sql
                不指定table則會備份全部數(shù)據(jù)庫
                ">"兩邊要有空格。
                例:
                    C:Users208⑴>mysqldump -u root -p123456 leetcode t_scores t_employee > D:AppServMySQLackupleetcode.sql

                    C:Users208⑴>mysqldump -u root -p123456 leetcode > D:AppServMySQLackupleetcode1.sql
                mysqldump不能再mysql>后面輸入,直接在dos窗口履行
            備份多個數(shù)據(jù)庫
                mysqldump -u username -p --databases dbname1 dbname2 ... > backupname.sql
                各個數(shù)據(jù)庫之間不能加逗號直接用空格隔開就行
            備份所有數(shù)據(jù)庫
                mysqldump -u username -p --all-databases > backupname.sql
                all-databases是連在1起的。
數(shù)據(jù)還原
    1、復制備份文件還原數(shù)據(jù)庫
        這類方式必須保證兩個mysql數(shù)據(jù)庫的主版本號1致,由于只有主版本號相同時,才能保證兩個mysql數(shù)據(jù)庫的文件類型是相同的
       僅對MyISAM類型的表有效
        主版本號,MySQL 5.5.21和MySQL 5.5.01主版本號是相同的,第1個數(shù)字是主版本號 
    2、mysql
        mysql -u username -p [dbname]<backup.sql
        指定dbname,則還原該數(shù)據(jù)庫下的表,不指定,則還原備份文件中所有的數(shù)據(jù)庫
導出
    通過數(shù)據(jù)庫中表的導入和導出操作,可以在mysql數(shù)據(jù)庫服務器與其他數(shù)據(jù)庫服務器間(sql server 、Oracle)輕松移動數(shù)據(jù)
    導出:
        將數(shù)據(jù)從mysql數(shù)據(jù)表里復制到文本文件
    導入
        將數(shù)據(jù)從文本文件加載到mysql數(shù)據(jù)庫表里
    1、select...into outfile
        select [filename] from table_name [where condition] into outfile 'filename' [option]
        兩部份:普通查詢語句(查詢要導出的數(shù)據(jù))和導出位置
        option的取值:
            fileds terminated by "string"       用來設置字段的分隔符字符串對象(string),默許為制表符
            fields enclosed by "char"       用來設置括上字段值的字符符號,默許不使用任何符號
            fields optionally enclosed by 'char'    用來括上char,varchar和text等字段的字符符號,默許不使用任何符號
            fieles escaped by 'char'        設置轉(zhuǎn)義字符的字符符號,默許情況下使用""字符
            lines starting by 'char'        設置每行開頭的字符符號,默許不使用任何符號
            lines terminated by 'string'        設置每行結(jié)束的字符串符號,默許使用'
'

    2、mysqldump
        mysqldump -u root -p -T file_directory dbname tablename[option]
        option的取值:
            --fileds-terminated-by=string
            --fileds-enclosed-by=char
            --fileds-optionally-enclosed-by=char
            --lines-terminated-by=string
導入
    1、load data infile
        load data[local] infile filename into table table_name[option]
        local:指定在本地計算機中查找文本文件;
        filename:用來指定文本文件的路徑和名稱;
        tablename:用來指定表的名稱
        oprion的取值
            fileds terminated by "string"       用來設置字段的分隔符字符串對象(string),默許為制表符
            fields enclosed by "char"       用來設置括上字段值的字符符號,默許不使用任何符號
            fields optionally enclosed by 'char'    用來括上char,varchar和text等字段的字符符號,默許不使用任何符號
            fieles escaped by 'char'        設置轉(zhuǎn)義字符的字符符號,默許情況下使用""字符
            lines starting by 'char'        設置每行開頭的字符符號,默許不使用任何符號
            lines terminated by 'string'        設置每行結(jié)束的字符串符號,默許使用'
'

            ignore n lines              實現(xiàn)疏忽文件的前n行記錄
            (字段列表)              實現(xiàn)根據(jù)字段列表中的字段溫柔序來加載記錄
            set column=expr             用來設置列的轉(zhuǎn)換條件,即所指定的列經(jīng)過相應的轉(zhuǎn)換后會被加載

    2、mysqlimport
        mysqlimport -u root -p [--local] dbname file_name[oiption]
        option的取值:
            --fileds-terminated-by=string
            --fileds-enclosed-by=char
            --fileds-optionally-enclosed-by=char
            --lines-terminated-by=string
            --ignrs-lines=n
        注意:命令里沒有指定導入到哪一個表里。依照書上的意思,依照文件名尋覓表,然后導入進去。
數(shù)據(jù)庫遷移
    1、相同版本間的mysql數(shù)據(jù)庫之間的遷移
        mysqldump -h hostname -u root -password=password1 --all-databases
        |mysql -h hostname2 -u root -password=password2
        備份和還原同時操作。
        對相同版本間的mysql數(shù)據(jù)庫之間的遷移,先使用mysqldump進行備份,然后使用mysql命令將備份文件還原到新的mysql數(shù)據(jù)庫。           
    2、不同版本間的mysql數(shù)據(jù)庫之間的遷移
        低版本->高版本最是容易實現(xiàn),由于高版本兼容低版本
        對MyISAM的表  
            使用文件直接復制的方式或mysqlhotcopy
        對InnoDB的表
            使用mysqldump備份,使用mysql命令還原
    3、不同數(shù)據(jù)庫間的遷移 
        mysql->sql server :通過MyODBC實現(xiàn)遷移
        mysql->oracle:先通過mysqldump命令導出sql文件,手動修改
                sql中的create語句
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 免费麻豆国产一区二区三区四区 | 老外一级毛片免费看 | 性做久久久久久 | 日韩在线一区高清在线 | a级毛片黄 | 国产成人久久精品推最新 | 一区二区网站 | 国产激情一区二区三区在线观看 | a在线视频 | 一级黄色欧美 | 亚洲性综合网 | 国产日韩欧美一区二区三区综合 | 亚洲看片网| 亚洲视频免费在线看 | 天堂在线观看视频 | 欧美日韩亚洲国产一区二区三区 | 欧美爱爱网址 | 亚洲天堂图片 | 91免费福利精品国产 | 亚洲国产成人精品不卡青青草原 | 免费看黄在线网站 | 欧美成人综合 | 日日撸夜夜操 | 欧美日韩一区二区三区视频在线观看 | 欧美另类 videos黑人极品 | 亚洲国产日韩欧美综合久久 | 国产精品久久久久久久久久久久 | 亚洲自偷 | 亚洲福利精品 | 欧美异族性hdsex在线播放 | 国产日韩欧美在线一区二区三区 | 日本理论在线观看被窝网 | 一级做a爱免费观看视频 | 国产最新一区二区三区天堂 | 成人精品一级毛片 | 国产美女一区精品福利视频 | 色婷婷久久综合中文久久蜜桃 | 色妞色综合久久夜夜 | 久久精品免费一区二区视 | 羞羞网| 免费的看黄网站 |