在RockyLinux 9.2系统设置mariaDB表格步骤

#########maiaDB中先建好用户,数据库;表格的设置采用“utf8mb4"

#####1.创建表格

CREATE TABLE mogu (

ID VARCHAR(15) NOT NULL,

GroupLatin VARCHAR(100) CHARACTER SET utf8mb4,

GroupCHN VARCHAR(100) CHARACTER SET utf8mb4,

LatinName VARCHAR(255) CHARACTER SET utf8mb4,

CHNName VARCHAR(255) CHARACTER SET utf8mb4,

ItName VARCHAR(255) CHARACTER SET utf8mb4,

Morphology TEXT CHARACTER SET utf8mb4,

Surroundings TEXT CHARACTER SET utf8mb4,

Habitat TEXT CHARACTER SET utf8mb4,

Url VARCHAR(255) CHARACTER SET utf8mb4,

KeyWord VARCHAR(150) CHARACTER SET utf8mb4,

Formation INT(30),

Publication TEXT CHARACTER SET utf8mb4

) CHARACTER SET = utf8mb4;

#####2.查看mogu表格的编码格式

SHOW CREATE TABLE mogu;

#####3.检查 MySQL 的字符集配置

导入前确保 MySQL 的字符集设置正确。查看 MySQL 的字符集设置:

>SHOW VARIABLES LIKE 'character_set_%';

这将显示当前的字符集配置。确保以下几个参数都是 utf8mb4:

character_set_client

character_set_connection

character_set_database

character_set_server

                                        如果有需要,可以用以下步骤并在 MySQL 命令行中执行以下命令设置字符集(考虑:避免字符集相关的问题-如乱码或字符集转换性能开销-建议统一字符集配置:#更改 # SET GLOBAL character_set_server = 'utf8mb4';)

                                         #3.1设置/etc/my.cnf.d/*.cnf   (若是centos8.4系统修改  /etc/my.cnf.d/mariadb-server.cnf文件配置)                          

                                           [client]
                                             default-character-set=utf8mb4

                                          [mysql]

                                            default-character-set=utf8mb4

                                        [mysqld]
                                            character-set-server=utf8mb4
                                            collation-server=utf8mb4_unicode_ci
                                        systemctl restart mariadb   

                                       #3.2 查看构建的数据库(如tomatoPan)的字符方式,若非做出修改

                                       >SHOW CREATE DATABASE tomatoPan;

                                      >ALTER DATABASE tomatoPan CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

                                       #3.3查看表字符集,若非做出修改(由于第一步设定没问题,此步一般是多余的)

                                        >SHOW TABLE STATUS FROM tomatoPan;

                                       >ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

                                      #3.4运行以下命令更改会话级别的设置:

                                       >SET NAMES utf8mb4;

                                       #  这将确保当前会话使用 utf8mb4 字符集进行数据传输。

#####4.确保导入的txt文件格式和编码正确

#4.1 dos2unix

#4.2 查看txt文件编码是否为utf-8

file mogu.txt

#如不是用iconv命令转化

iconv -f original_encoding -t utf-8 yourfile.txt -o yourfile_utf8.txt

#########(略略#下面是上面转化的一个实例

#########   iconv -f ASCII -t UTF-8 test2.txt -o test2_utf8.txt))

 

######5 在mysql中执行sql语句导入,需要注明utf8mb4

>LOAD DATA LOCAL INFILE '/var/www/cgi-bin/mogu.txt' INTO TABLE mogu CHARACTER SET

utf8mb4;

######6 查看是否导入成功

>SELECT * FROM mogu LIMIT 10;

######7 出现错误清空表格方法

> TRUNCATE TABLE mogu;