一、数据库引擎
1.1 查看数据库引擎
mysql> show engines;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
| BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO |
| MyISAM | YES | MyISAM storage engine | NO | NO | NO |
| CSV | YES | CSV storage engine | NO | NO | NO |
| ARCHIVE | YES | Archive storage engine | NO | NO | NO |
| PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
| FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
9 rows in set (0.00 sec)
可以看到默认引擎是 InnoDB。
1.2 修改默认数据库引擎
1.打开配置文件
[root@VM_0_15_centos ~]# vim /etc/my.cnf
2.在最下面编辑如下内容:
default-storage-engine=InnoDB
3.重启服务
[root@VM_0_15_centos ~]# systemctl restart mysqld
二、数据库字符集
2.1 查看字符集
查看MYSQL数据库服务器和数据库字符集
mysql> show variables like '%character%';
+--------------------------+----------------------------+
| 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 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.01 sec)
字符集
作用
character_set_client
用来设置客户端使用的字符集。
character_set_connection
用来设置连接数据库时的字符集
character_set_database
用来设置默认创建数据库的编码格式
character_set_filesystem
文件系统的编码格式,把操作系统上的文件名转化成此字符集,默认binary是不做任何转换的
character_set_results
查询结果字符集
character_set_server
服务器安装时指定的默认编码格式
character_set_system
系统元数据(字段名等)字符集
character_sets_dir
字符集安装的目录
查看 MYSQL 所支持的字符集
show charset;
查看库的字符集
show database status from 库名 like 表名;
查看表的字符集
show table status from 库名 like 表名;
查看表中所有列的字符集
show full columns from 表名;
2.2 修改字符集
1.打开配置文件
[root@VM_0_15_centos ~]# vim /etc/my.cnf
2.在最下面编辑如下内容:
character-set-server=utf8
[client]
default-character-set=utf8
3.重启服务并验证
[root@VM_0_15_centos ~]# systemctl restart mysqld
[root@VM_0_15_centos ~]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.27 MySQL Community Server (GPL)
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show variables like '%character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)