本节内容
在linux系统中,mysql默认字符集、默认数据库引擎的修改方法。
操作方法:
etc/init.d/mysql start (stop) 启动和停止
服务器
/etc/mysql/ (或/etc/my.cnf)主要配置文件所在位置 my.cnf
/var/lib/mysql/ 放置的是数据库表文件夹,此处的mysql相当于windows下mysql的date文件夹。
首先,我们应学会 如何选择合适的MySQL存储引擎,然后才可以针对具体的存储引擎进行字符集等的设定。
一,启动mysql后,以root登录mysql
复制代码 代码示例:
[root@jbxue]:~$ mysql -u root
>show variables like 'character%'; #执行编码显示
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
三个MySQL的系统变量:
1,character_set_client,终端字符集,告诉Server客户端提交的sql语句的编码格式
2,character_set_connection,连接字符集,是服务器翻译SQL语句时用到的编码格式
3,character_set_results,返回的结果集的字符集,是服务器返回结果集之前把结果集转换成的编码格式
有时需要修改mysql默认数据库的编码,以保证某些迁移的程序可以正常显示,编辑my.cnf文件进行编码修改。
windows可以直接用Mysql Server Instance Config Wizard 进行设置。
在进行以下的操作之前,你有必要了解mysql数据库引擎MyISAM与InnoDB的区别,不同的数据库引擎对字符集的处理各有不同。
在linux下修改3个my.cnf的1个/etc/mysql/my.cnf文件
找到客户端配置[client] 在下面添加:
复制代码 代码示例:
default-character-set=utf8 默认字符集为utf8
然后,找到[mysqld] 添加:
复制代码 代码示例:
default-character-set=utf8 默认字符集为utf8
init_connect='SET NAMES utf8' (设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行)
修改好后,重新启动mysql 即可。
查询字符集:
复制代码 代码示例:
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/ |
+--------------------------+----------------------------+
此方法用于标准mysql版本同样有效,对于/etc/my.cnf文件,需要从mysql/support-files的文件夹cp my-large.cnf一份到/etc/my.cnf
一般安装系统默认是INNODB:
复制代码 代码示例:
default-storage-engine=INNODB
指定mysql数据库存储引擎的最简方法:
可以在MySQL设置文件中设置一个默认的引擎类型(使用storage_engine 选项)或在启动数据库服务器时在命令行后面加上--default-storage-engine或--default-table-type选项 。
也可以参考:怎么查看mysql数据库的引擎 中介绍的存储引擎查看方法。
更灵活的方式:
随MySQL服务器发布同时提供的MySQL客户端时指定使用的存储引擎。
最直接的方式:
在创建表时指定存储引擎的类型,例如:
复制代码 代码示例:
CREATE TABLE mytable (id int, title char(20)) ENGINE = INNODB
有关linux下mysql默认字符集、默认数据库引擎的修改方法,就介绍这些了,希望对大家有所帮助。