Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cách chuyển đổi cơ sở dữ liệu MySQL sang mã hóa UTF-8

Bài viết này mô tả cách chuyển đổi bộ ký tự của cơ sở dữ liệu MySQL sang mã hóa UTF-8 (còn được gọi là Unicode). Bộ mã hóa ký tự UTF-8 hỗ trợ nhiều bảng chữ cái và ký tự cho nhiều loại ngôn ngữ.

Mặc dù MySQL hỗ trợ bộ mã hóa ký tự UTF-8, nó thường không được sử dụng làm bộ ký tự mặc định trong quá trình tạo cơ sở dữ liệu và bảng. Do đó, nhiều cơ sở dữ liệu sử dụng bộ ký tự Latinh, có thể bị giới hạn tùy theo ứng dụng.

Xác định bộ mã hóa ký tự hiện tại

Để xác định bộ mã hóa ký tự nào mà cơ sở dữ liệu hoặc bảng MySQL hiện đang sử dụng:

  1. Đăng nhập vào tài khoản A2 Hosting SSH của bạn.
  2. Tại dòng lệnh, nhập lệnh sau, thay thế tên người dùng bằng tên người dùng của bạn:
     mysql -u username -p 
  3. Tại lời nhắc Nhập Mật khẩu, hãy nhập mật khẩu của bạn. Khi bạn nhập đúng mật khẩu, lời nhắc mysql> sẽ xuất hiện.
  4. Để hiển thị bộ mã hóa ký tự hiện tại cho một cơ sở dữ liệu cụ thể, hãy nhập lệnh sau tại dấu nhắc mysql>. Thay thế dbname bằng tên cơ sở dữ liệu:

     CHỌN default_character_set_name TỪ information_schema.SCHEMATA S WHERE schema_name ="dbname"; 
  5. Để hiển thị bộ mã hóa ký tự hiện tại được đặt cho một bảng cụ thể trong cơ sở dữ liệu, hãy nhập lệnh sau tại dấu nhắc mysql>. Thay thế dbname bằng tên cơ sở dữ liệu và tên bảng bằng tên của bảng:

     CHỌN CCSA.character_set_name FROM information_schema.`TABLES` T, information_schema.`COLLATION_CHARACTER_SET_APPLICABILITY` CCSA WHERE CCSA.collation_name =T.table_collation AND T.table_schema ="dbname" AND T.table_name ="tablename" 
  6. Để thoát khỏi mysql hãy nhập \ q tại dấu nhắc mysql>.

Chuyển đổi bộ mã hóa ký tự thành UTF-8

Đảm bảo rằng bạn đã sao lưu cơ sở dữ liệu trước khi bắt đầu quy trình này! Bạn có thể sao lưu cơ sở dữ liệu MySQL bằng cPanel, phpMyAdmin hoặc mysqldump chương trình.

Để chuyển đổi bộ mã hóa ký tự thành UTF-8:

  1. Đăng nhập vào tài khoản A2 Hosting SSH của bạn.
  2. Tạo tệp văn bản có tên .my.cnf . Để làm điều này, bạn có thể sử dụng trình soạn thảo văn bản như Vim hoặc Nano. Quy trình này hướng dẫn cách sử dụng Nano. Tại dòng lệnh, nhập lệnh sau:
     nano .my.cnf 
  3. Thêm các dòng sau vào tệp, thay thế tên người dùng bằng tên người dùng và mật khẩu bằng mật khẩu của bạn (đảm bảo mật khẩu được đặt trong dấu ngoặc kép):

     [client] user =usernamepassword ="password" 
  4. Khi quá trình chỉnh sửa hoàn tất, hãy nhấn Ctrl + X, nhập y để lưu tệp rồi nhấn Enter.
  5. Để thay đổi mã hóa bộ ký tự thành UTF-8 cho tất cả các bảng trong cơ sở dữ liệu được chỉ định, hãy nhập lệnh sau tại dòng lệnh. Thay thế dbname bằng tên cơ sở dữ liệu:

     mysql --database =dbname -B -N -e "HIỂN THỊ BẢNG" | awk '{print "SET Foreign_key_checks =0; ALTER TABLE", $ 1, "CHUYỂN ĐỔI THÀNH BỘ NHÂN VẬT utf8 COLLATE utf8_general_ci; SET Foreign_key_checks =1;"}' | mysql --database =dbname 
  6. Sau khi lệnh kết thúc, hãy nhập lệnh sau để bắt đầu mysql chương trình:

     mysql 
  7. Để thay đổi mã hóa bộ ký tự thành UTF-8 cho chính cơ sở dữ liệu, hãy nhập lệnh sau tại dấu nhắc mysql>. Thay thế dbname bằng tên cơ sở dữ liệu:

     ALTER DATABASE dbname CHARACTER SET utf8 COLLATE utf8_general_ci; 
  8. Để thoát khỏi mysql hãy nhập \ q tại dấu nhắc mysql>.
  9. Để xóa .my.cnf , gõ lệnh sau tại dòng lệnh:

     rm .my.cnf 
  10. Để xác minh rằng mã hóa bộ ký tự hiện đã được đặt thành UTF-8, hãy làm theo các bước trong quy trình Xác định bộ mã hóa ký tự hiện tại ở trên.

Thông tin khác

Để biết thêm thông tin về UTF-8 và Unicode, vui lòng truy cập http://en.wikipedia.org/wiki/UTF-8.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hướng dẫn SQL về khóa chính - Cách xác định khóa chính trong cơ sở dữ liệu

  2. ClassCastException:java.math.BigInteger không thể được truyền sang java.lang.Long khi kết nối với MySQL

  3. Làm cách nào tôi có thể sử dụng thực thi để chèn vào MySQL một danh sách các từ điển bằng Python

  4. Quản lý giám sát và hoạt động của MySQL 8.0 với ClusterControl

  5. Các lựa chọn thay thế MySQL Workbench - Quản lý cấu hình ClusterControl