MySQL資料庫表資料遷移 ibd的使用

2021-10-18 00:00:35 字數 3816 閱讀 2540

#1. 建立相同結構的表,並新增幾條測試資料

mysql> create table test3 like test;

mysql> select * from test3;+--

----+--

----+--

--+----

----

----

----

-----+

----

----+--

----

------+

| age | name | id | create_time | is_man | salary_amt |+--

----+--

----+--

--+----

----

----

----

-----+

----

----+--

----

------+

|11|11

|1|2021-01

-2811:

15:11|

1|11.00||

22|22|

2|2021-01

-2811:

15:11|

1|11.00|+

------+

------+

----+--

----

----

----

-------

+--------+

----

----

----

+#2. 檢視當前資料庫資料儲存位置,備份 test3.idb

mysql> select @@datadir;+

----

----

----

----

----

----

+| @@datadir|+

----

----

----

----

----

----+|

/usr/local/mysql/data/|+

----

----

----

----

----

----

+[root@hadoop001 test_db]# pwd

/usr/local/mysql/data/test_db

[root@hadoop001 test_db]# ll

total 220

-rw-r-----

1 mysqladmin dba 61 jan 1618:

12 db.opt

-rw-r-----

1 mysqladmin dba 8734 jan 2811:

14 test3.frm

-rw-r-----

1 mysqladmin dba 98304 jan 2811:

21 test3.ibd

#3. 刪除表空間 注: show global variables like 'innodb_file_per_table'

; 是否 on 狀態

mysql> alter table test3 discard tablespace;

query ok,

0 rows affected (

0.01 sec)

# test3.idb 被刪除

[root@hadoop001 test_db]# ll

total 124

-rw-r-----

1 mysqladmin dba 61 jan 1618:

12 db.opt

-rw-r-----

1 mysqladmin dba 8734 jan 2811:

14 test3.frm

#4. 恢復表空間

#4.1 修改檔案許可權

-rw-r-----

1 mysqladmin dba 61 jan 1618:

12 db.opt

-rw-r-----

1 mysqladmin dba 8734 jan 2811:

14 test3.frm

-rw-r-----

1 root root 98304 jan 2813:

47 test3.ibd

-rw-r-----

1 mysqladmin dba 8734 jan 2616:

31 test.frm

-rw-r-----

1 mysqladmin dba 98304 jan 2616:

32 test.ibd

[root@hadoop001 test_db]# chown -r mysqladmin:dba test3.ibd

[root@hadoop001 test_db]# ll

total 220

-rw-r-----

1 mysqladmin dba 61 jan 1618:

12 db.opt

-rw-r-----

1 mysqladmin dba 8734 jan 2811:

14 test3.frm

-rw-r-----

1 mysqladmin dba 98304 jan 2813:

47 test3.ibd

-rw-r-----

1 mysqladmin dba 8734 jan 2616:

31 test.frm

-rw-r-----

1 mysqladmin dba 98304 jan 2616:

32 test.ibd

#4.2 執行mysql命令,idb與test3表空間繫結

mysql> alter table test3 import tablespace;

query ok,

0 rows affected,

1 warning (

0.08 sec)

#5. 驗證結果

mysql> select * from test3;+--

----+--

----+--

--+----

----

----

----

-----+

----

----+--

----

------+

| age | name | id | create_time | is_man | salary_amt |+--

----+--

----+--

--+----

----

----

----

-----+

----

----+--

----

------+

|11|11

|1|2021-01

-2811:

15:11|

1|11.00||

22|22|

2|2021-01

-2811:

15:11|

1|11.00|+

------+

------+

----+--

----

----

----

-------

+--------+

----

----

----

+2 rows in set (

0.00 sec)

mysql庫遷移 mysql資料庫遷移

由於yum安裝mysql的時候,資料庫的data目錄預設是在 var lib下,出於資料安全性的考慮需要把它挪到 data分割槽。步驟如下 一 關閉apache和mysql.複製 如下 二 將 var lib下的mysql目錄mv 移動 到data目錄。為什麼要用mv命令,而不用cp命令呢?應為li...

MySQL資料庫的庫表遷移

最近在研究mysql資料庫的庫表遷移問題,主要分為兩種情況,一種情況是遷移資料庫的表的全部字段,另一種是遷移資料庫的表的部分字段。前一種情況是直接使用mysqldump命令來實現,後一種情況則是採用資料寫入本地再匯入mysql的思路。顯然前一種情況也可以採用後一種情況的思路實現,但使用mysqldu...

mysql資料庫,資料遷移a表到b表

開發新專案但是用到了舊專案的資料,欄位名也發生了變化,怎麼樣把老資料匯入新錶?mysql資料庫,資料遷移a表到b表可以通過以下sql實現,通過select b表的字段,用於對應a表的字段,進行填充,這樣可以實現 insert into bdatas tj members bankinfo uid,b...