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
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
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
MariaDB [database_lab]> alter table wp_options engine=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.
mysqldump --opt database_lab > database_lab.sql
- Sửa lại ENGINE file vừa dump và thay “ENGINE=MyISAM” thành “ENGINE=InnoDB”
sed -i 's/ENGINE=MyISAM/ENGINE=InnoDB/g' database_lab.sql
- Import file database đã sửa ENGINE
mysql database_lab < database_lab.sql
Chúc bạn thực hiện thành công.