- 通過set修改value字段
- 登錄MySQL,使用 show variables like 'character%';
- 查看當前編碼格式
- 使用 set character_set_client = 'utf8mb4';
- 直接修改variable_name的value
- Mariadb通過配置文件修改編碼
-
1、登錄MySQL,使用
SHOW VARIABLES LIKE 'character%';
查看當前使用的字符集,應該有好幾個不是UTF-8格式。
2、要修改的配置文件位於 /etc/my.cnf.d目錄下:
client.cnf
在[client]字段里加入
default-character-set=utf8
server.cnf
在[mysqld]字段里加入
character-set-server=utf8
systemctl restart mariadb 配置生效,修改後的效果如下:
-
修改字段編碼格式:
-
先查看下編碼:
MariaDB [(none)]> SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%'; +--------------------------+-------------------+ | Variable_name | Value | +--------------------------+-------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | latin1 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | latin1 | | character_set_system | utf8 | | collation_connection | utf8_general_ci | | collation_database | latin1_swedish_ci | | collation_server | latin1_swedish_ci | +--------------------------+-------------------+ 10 rows in set (0.00 sec)
修改/etc/my.cnf.d/server.cnf
[mysqld][mysqld] character_set_server=utf8mb4 collation-server=utf8mb4_unicode_ci init_connect='SET NAMES utf8mb4' skip-character-set-client-handshake=true
重啓DB:
systemctl restart mariadb
再次查看編碼:
MariaDB [(none)]> SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%'; +--------------------------+--------------------+ | Variable_name | Value | +--------------------------+--------------------+ | character_set_client | utf8mb4 | | character_set_connection | utf8mb4 | | character_set_database | utf8mb4 | | character_set_filesystem | binary | | character_set_results | utf8mb4 | | character_set_server | utf8mb4 | | character_set_system | utf8 | | collation_connection | utf8mb4_unicode_ci | | collation_database | utf8mb4_unicode_ci | | collation_server | utf8mb4_unicode_ci | +--------------------------+--------------------+ 10 rows in set (0.00 sec)
修改DB的默認編碼:
ALTER DATABASE XX_db CHARACTER SET utf8mb4;
1.查看數據庫編碼格式
1
mysql> show variables
like
'character_set_database'
;
2.查看數據表的編碼格式
1
mysql> show
create
table
<表名>;
3.創建數據庫時指定數據庫的字符集
mysql>create database <數據庫名> character set utf8;
4.創建數據表時指定數據表的編碼格式
create table tb_books ( name varchar(45) not null, price double not null, bookCount int not null, author varchar(45) not null ) default charset = utf8;
5.修改數據庫的編碼格式
mysql>alter database <數據庫名> character set utf8;
6.修改DB的默認編碼:
ALTER DATABASE XX_db CHARACTER SET utf8mb4;
7.修改表中字段編碼
ALTER TABLE 表名 MODIFY `字段` TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
8.添加外鍵
mysql>alter table tb_product add constraint fk_1 foreign key(factoryid) references tb_factory(factoryid); mysql>alter table <表名> add constraint <外鍵名> foreign key<字段名> REFERENCES <外表表名><字段名>;
9.刪除外鍵
mysql>alter table tb_people drop foreign key fk_1; mysql>alter table <表名> drop foreign key <外鍵名>;