<del id="d4fwx"><form id="d4fwx"></form></del>
      <del id="d4fwx"><form id="d4fwx"></form></del><del id="d4fwx"><form id="d4fwx"></form></del>

            <code id="d4fwx"><abbr id="d4fwx"></abbr></code>
          • mysql共享表空間的擴容、收縮和遷移

            本篇內容介紹了“MySQL共享表空間的擴容、收縮和遷移”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

            創(chuàng)新互聯(lián)致力于互聯(lián)網品牌建設與網絡營銷,包括成都網站制作、網站建設、SEO優(yōu)化、網絡推廣、整站優(yōu)化營銷策劃推廣、電子商務、移動互聯(lián)網營銷等。創(chuàng)新互聯(lián)為不同類型的客戶提供良好的互聯(lián)網應用定制及解決方案,創(chuàng)新互聯(lián)核心團隊十年專注互聯(lián)網開發(fā),積累了豐富的網站經驗,為廣大企業(yè)客戶提供一站式企業(yè)網站建設服務,在網站建設行業(yè)內樹立了良好口碑。

            一.擴容innodb文件
            1.關閉mysql db
            # /usr/local/mysql/bin/mysqladmin -S /tmp/mysql3307.sock shutdown

            2.打開參數(shù)文件
            innodb_data_file_path = ibdata1:512M:autoextend
            將ibdata1調整至接近實際大小,并在后面追加新的文件:
            innodb_data_file_path = ibdata1:512M;ibdata2:512M:autoextend

            3.啟動數(shù)據(jù)庫
            # /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my3307.cnf --user=mysql &

            二.縮小表空間
            共享表空間文件,一旦擴展無法自動縮小,需要通過手工縮小
            1.導出全部數(shù)據(jù)庫
            # /usr/local/mysql/bin/mysqldump -uroot -p -A -S /tmp/mysql3307.sock > /tmp/3307all.sql
            Enter password:

            2.關閉mysql db
            # /usr/local/mysql/bin/mysqladmin -S /tmp/mysql3307.sock shutdown

            3.刪除mysql的數(shù)據(jù)目錄
            rm -rf /home/mysql3307/mysql3307/*

            4.初始化mysql
            /usr/local/mysql/bin/mysqld --defaults-file=/etc/my3307.cnf --initialize-insecure --basedir=/usr/local/mysql --datadir=/home/mysql3307/mysql3307 --user=mysql

            5.啟動mysql
            /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my3307.cnf --user=mysql &

            6.導入數(shù)據(jù)
            source /tmp/3307all.sql

            三.innodb表空間遷移
            原庫表結構:

            點擊(此處)折疊或打開

            1. CREATE TABLE `wwj`.`t1` (

            2.   `id` INT NOT NULL,

            3.   `name` VARCHAR(45) NULL,

            4.   PRIMARY KEY (`id`));

            5.   

            6. alter table wwj.t1 add index idx_name (name) ;

            7. insert into wwj.t1 values(1,'wwj');


            1.在目標實例上創(chuàng)建一個相同的表

            點擊(此處)折疊或打開

            1. CREATE TABLE `wwj2`.`t1` (

            2.   `id` INT NOT NULL,

            3.   `name` VARCHAR(45) NULL,

            4.   PRIMARY KEY (`id`));

            2.在目標庫上執(zhí)行ALTER TABLE t DISCARD TABLESPACE;
            ALTER TABLE t1 DISCARD TABLESPACE;
            - discard的意思就是從數(shù)據(jù)庫detached,會刪除ibd文件,保留frm文件。
            - 也就意味著,你可以對frm文件操作,比如:rename table,drop table ,但是不能對ibd文件操作,比如:dml

            3.在源庫上執(zhí)行FLUSH TABLES t FOR EXPORT;生成.cfg文件
            flush tables t1 for export;

            -rw-r-----. 1 mysql mysql     67 Mar 24 06:59 db.opt
            -rw-r-----. 1 mysql mysql    467 Mar 24 18:32 t1.cfg
            -rw-r-----. 1 mysql mysql   8586 Mar 24 06:59 t1.frm
            -rw-r-----. 1 mysql mysql 114688 Mar 24 06:59 t1.ibd

            此時,.cfg文件在InnoDB的data directory中
            flush tables .. for export 會加鎖,這時候,千萬不能退出終端或session,否則加鎖無效且.cfg文件自動刪除。

            4.講.ibd文件和.cfg文件拷貝到目標實例
            [root@mysql5 wwj]# cp t1.cfg /home/mysql3306/mysql3306/wwj2
            [root@mysql5 wwj]# cp t1.ibd /home/mysql3306/mysql3306/wwj2

            修改權限


            5.在源庫執(zhí)行unlock tables;
            mysql> UNLOCK TABLES;
            Query OK, 0 rows affected (0.00 sec)

            6.在目標庫執(zhí)行ALTER TABLE t IMPORT TABLESPACE;

            第一次執(zhí)行:在目標庫追加index后成功
            mysql> alter table t1 import tablespace;
            ERROR 2006 (HY000): MySQL server has gone away
            No connection. Trying to reconnect...
            Connection id:    3
            Current database: wwj2

            ERROR 1808 (HY000): Schema mismatch (Number of indexes don't match, table has 1 indexes but the tablespace meta-data file has 2 indexes)

            innodb可傳輸表空間注意事項
            -----------------------------
            必須開啟 innodb_file_per_table
            當這個表處于quiesced狀態(tài),甚至不能被select
            兩邊實例的page size 一致
            5.7 版本之前,不支持分區(qū)表transport
            外鍵相關的表,必須設置 foreign_key_checks=0 才能成功
            ALTER TABLE ... IMPORT TABLESPACE 不需要.cfg metadata file . 但是,這樣的話,MySQL就不會對schema進行verificate
            5.6以及更高版本,import&export 版本必須在同一個series
            在replication環(huán)境中,master & slave 都必須開啟 innodb_file_per_table
            對于InnoDB general tablespace,不支持discard & import tablespace
            如果兩邊服務器的table row_format設置的不一樣,會導致schema mismatch error
            加密過的InnoDB tablespace 必須要拷貝.cfp 文件

            四.MyISAM表空間遷移
            1. flush table with read lock
            2. 直接復制數(shù)據(jù)文件和表結構文件

            “mysql共享表空間的擴容、收縮和遷移”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注創(chuàng)新互聯(lián)網站,小編將為大家輸出更多高質量的實用文章!

            文章題目:mysql共享表空間的擴容、收縮和遷移
            文章出自:http://www.jbt999.com/article2/jeicoc.html

            成都網站建設公司_創(chuàng)新互聯(lián),為您提供做網站全網營銷推廣、品牌網站建設、用戶體驗、網站建設、標簽優(yōu)化

            廣告

            聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

            成都定制網站網頁設計

              <del id="d4fwx"><form id="d4fwx"></form></del>
              <del id="d4fwx"><form id="d4fwx"></form></del><del id="d4fwx"><form id="d4fwx"></form></del>

                    <code id="d4fwx"><abbr id="d4fwx"></abbr></code>
                  • 亚洲黄色电影 | 精选操逼网一区 | 国产玖玖精品 | 欧美在线麻豆 | 久久短视频 |