Hướng dẫn chuyển đổi MyISAM sang InnoDB và ngược lại

6
0
Convert MyISAM to InnoDB

Bài viết hôm nay minh xin hướng dẫn bạn thực hiện chuyển đổi kiểu bảng db từ MyISAM sang InnoDB và ngược lại

  • Sự khác nhau giữa MyISAM và InnoDB

Để chuyển đổi MyISAM sang InnoDB và ngược lại có 2 cách để bạn thực hiện như sau

CÁCH 1: Sử dụng phpMyAdmin

Để chuyển trên trên phpMyAdmin bạn hãy đăng nhập vào hpMyAdmin. Sau đó chọn Table cần chuyển => Operation => Phần Store Engine chọn InnoDB

Screenshot 2021 04 19 at 15.48.17
Screenshot 2021 04 19 at 15.48.59

CÁCH 2: Sử dụng Command Line trên Linux

Với cách này bạn cần login vào MySQL Console với Passwd Root của MySQL mới thực hiện.

root@sv:~# mysql -uroot -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or g.
Your MariaDB connection id is 22730
Server version: 10.4.15-MariaDB-log Source distribution

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| database_lab       |
+--------------------+
9 rows in set (0.001 sec)

MariaDB [(none)]> use database_lab;
Database changed
MariaDB [database_lab]> show tables;

Chú thích:

Lưu ý: Mỗi lệnh đều kết thúc với dấu ;

  • mysql -uroot -p: Login vào MySQL console và bạn cần nhập vào mật khẩu root của mysql
  • show databases; : Liệt kê các database hiện có
  • use database_lab; : Truy cập vào database
  • show tables; : Hiển thị các table của Database
Hướng dẫn chuyển đổi MyISAM sang InnoDB

Và bây giờ mình sẽ thực hiện di chuyển MyISAM sang InnoDB của Table wp_options với lệnh alter

DOTRUNGQUAN.INFO
MariaDB [database_lab]> alter table wp_options engine=InnoDB;
    
Hướng dẫn chuyển đổi MyISAM sang InnoDB

Chuyển toàn bộ Table của Database từ MyISAM sang InnoDB

Trường hợp nếu bạn cần chuyển toàn bộ Table của Database thì bạn cần thực hiện dump Database ra sau đó sửa lại Engine và import ngược lại.

  • Dump Database bằng lệnh.
DOTRUNGQUAN.INFO
mysqldump --opt database_lab > database_lab.sql
    
  • Sửa lại ENGINE file vừa dump và thay “ENGINE=MyISAM” thành “ENGINE=InnoDB”
DOTRUNGQUAN.INFO
sed -i 's/ENGINE=MyISAM/ENGINE=InnoDB/g' database_lab.sql
    
  • Import file database đã sửa ENGINE
DOTRUNGQUAN.INFO
mysql database_lab < database_lab.sql
    

Chúc bạn thực hiện thành công.

Đỗ Trung Quân
WRITTEN BY

Đỗ Trung Quân

Nguồn nội dung này đến từ Website DoTrungQuan.info

Trả lời