中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql表空間傳輸過程

發布時間:2021-08-31 16:19:17 來源:億速云 閱讀:159 作者:chen 欄目:MySQL數據庫

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

在MySQL 5.6 版本中引入了一個可移動表空間的新特性(復制的表空間到另一個服務器),即mysql表空間傳輸。這使得我們傳輸表或者單個庫的數據變得十分方便。


    但是,傳輸表空間必須滿足以下的條件

1.必須使用獨立表空間

2.兩個mysql數據庫的page大小必須一樣

3.兩個表的表結構必須一樣

下面我們對lala庫下面的score表進行傳輸

首先,先從主庫導出score

我們可以在導出之前對錯誤日志-f命令進行輸出,跟蹤它做了什么

[root@potato data]# tail -f error.log

root@localhost:mysql.sock  01:31:46 [lala]>flush tables score for export;

root@localhost:mysql.sock  02:08:21 [lala]>select * from score;                 +------+----------+-------+

| id   | name     | score |

+------+----------+-------+

|    3 | xiaohong |    99 |

|    2 | xiaoming |    65 |

|    1 | xiaojun  |    55 |

+------+----------+-------+

3 rows in set (0.00 sec)

以下是錯誤日志的輸出

2016-12-19 01:32:44 25547 [Note] InnoDB: Sync to disk of '"lala"."score"' started.

2016-12-19 01:32:44 25547 [Note] InnoDB: Stopping purge

2016-12-19 01:32:44 25547 [Note] InnoDB: Writing table metadata to './lala/score.cfg'

2016-12-19 01:32:44 25547 [Note] InnoDB: Table '"lala"."score"' flushed to disk

可見,它首先對表停止操作,再把score的數據和元數據寫到磁盤。

此時可以訪問這張表,但是不能對數據進行DML操作,如

發起查詢語句,成功

root@localhost:mysql.sock  01:33:11 [(none)]>select * from lala.score;          +------+----------+-------+

| id   | name     | score |

+------+----------+-------+

|    3 | xiaohong |    99 |

|    2 | xiaoming |    65 |

|    1 | xiaojun  |    55 |

+------+----------+-------+

3 rows in set (0.00 sec)

發起插入語句,一直在等待

root@localhost:mysql.sock  01:31:23 [(none)]>insert into lala.score values(4,'xiaolin',74);

在庫文件夾下面多了cfg文件

[root@potato lala]# ls -l score*

-rw-r-----. 1 mysql mysql   470 Dec 19 02:07 score.cfg

-rw-rw----. 1 mysql mysql  8618 Dec 19 02:03 score.frm

-rw-r-----. 1 mysql mysql 98304 Dec 19 02:07 score.ibd

我們把cfg和ibd文件先復制到/tmp目錄下

[root@potato lala]#cp score.cfg /tmp

[root@potato lala]#cp score.ibd /tmp

然后解鎖表,讓外部可以盡快訪問表

root@localhost:mysql.sock  01:35:02 [lala]>unlock tables;

Query OK, 0 rows affected (0.00 sec)

備庫此時沒有該表

root@localhost:mysql.sock  01:35:28 [lala]>show tables;

+----------------+

| Tables_in_lala |

+----------------+

| haha           |

| test           |

| test1          |

+----------------+

3 rows in set (0.00 sec)

查看主庫的score建表語句

root@localhost:mysql.sock  01:37:19 [lala]>show create table score\G

*************************** 1. row ***************************

Table: score

Create Table: CREATE TABLE `score` (

`id` int(11) DEFAULT NULL,

`name` varchar(15) DEFAULT NULL,

`score` int(11) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8

1 row in set (0.00 sec)

在從庫上執行

root@localhost:mysql.sock  02:03:44 [lala]> CREATE TABLE `score` (

->   `id` int(11) DEFAULT NULL,

->   `name` varchar(15) DEFAULT NULL,

->   `score` int(11) DEFAULT NULL

-> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Query OK, 0 rows affected (0.02 sec)

現在score表是沒有數據的

root@localhost:mysql.sock  02:04:11 [lala]>select * from score;

Empty set (0.00 sec)

卸載score表空間

root@localhost:mysql.sock  02:05:12 [lala]>alter table score discard tablespace;

Query OK, 0 rows affected (0.02 sec)

[root@potato lala]# ls -l score*

-rw-rw----. 1 mysql mysql 8618 Dec 19 02:03 score.frm

在主庫上把兩個文件傳到備庫上

[root@potato lala]# scp /tmp/score* 192.168.161.55:/data/mysql/mytest_3306/data/lala

root@192.168.161.55's password:

score.cfg                                     100%  470     0.5KB/s   00:00   

score.ibd                                     100%   96KB  96.0KB/s   00:00

修改傳輸過去的文件屬主

[root@potato lala]# ls -l score*

-rw-r-----. 1 root root  8618 Dec 19 01:37 score.cfg

-rw-rw----. 1 mysql mysql  8618 Dec 19 02:03 score.frm

-rw-r-----. 1 root root 98304 Dec 19 01:37 score.ibd

[root@potato lala]# chown mysql:mysql score*

[root@potato lala]# ls -l score*

-rw-r-----. 1 mysql mysql   470 Dec 19 02:07 score.cfg

-rw-rw----. 1 mysql mysql  8618 Dec 19 02:03 score.frm

-rw-r-----. 1 mysql mysql 98304 Dec 19 02:07 score.ibd

導入score表空間

root@localhost:mysql.sock  02:05:29 [lala]>alter table score import tablespace; Query OK, 0 rows affected (0.36 sec)

root@localhost:mysql.sock  02:08:21 [lala]>select * from score;                 +------+----------+-------+

| id   | name     | score |

+------+----------+-------+

|    3 | xiaohong |    99 |

|    2 | xiaoming |    65 |

|    1 | xiaojun  |    55 |

+------+----------+-------+

3 rows in set (0.00 sec)
     至此,表空間傳輸成功

“mysql表空間傳輸過程”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

万山特区| 印江| 孟津县| 嵩明县| 开封县| 繁峙县| 南木林县| 德化县| 财经| 宁陵县| 雷山县| 漳浦县| 宜宾县| 西藏| 呼伦贝尔市| 常宁市| 井陉县| 泗水县| 新邵县| 什邡市| 青铜峡市| 东丽区| 固阳县| 顺平县| 互助| 浮梁县| 喀喇沁旗| 辽阳县| 永仁县| 孟津县| 磐石市| 永宁县| 罗定市| 伊宁市| 西平县| 赤峰市| 南漳县| 西乌珠穆沁旗| 孝昌县| 永福县| 崇礼县|