Mysql优化(2) 字符集设置以及分区
设置编码:
查看字符集的设置
[SQL] 纯文本查看 复制代码
001
|
show variables like 'character_set_%' ; |
打开/etc/mysql/my.cnf在[mysqld]后添加:
[Plain Text] 纯文本查看 复制代码
001
002
|
character-set-server=utf8 init_connect='SET NAMES utf8' |
在[client]后添加
[SQL] 纯文本查看 复制代码
001
|
default - character - set =utf8 |
修改表级
[SQL] 纯文本查看 复制代码
001
|
ALTER TABLE table_name DEFAULT CHARSET utf8; |
更改了后永久生效
注:如果没有找到my.cnf文件,可以用以下命令进行查找:
[Shell] 纯文本查看 复制代码
001
|
find / -name "my.cnf" -print |
还有一种修改字符集的方法,就是使用mysql的命令
[Plain Text] 纯文本查看 复制代码
001
002
003
004
005
006
007
008
|
SET character_set_client = utf8 ; SET character_set_connection = utf8 ; SET character_set_database = utf8 ; SET character_set_results = utf8 ; SET character_set_server = utf8 ; SET collation_connection = utf8 ; SET collation_database = utf8 ; SET collation_server = utf8 ; |
然后我们登陆mysql查看是否支持分区:
[SQL] 纯文本查看 复制代码
001
|
show plugins; |
结果如下图所示。
<ignore_js_op>
必须要有箭头所示的插件。
然后创建一个test数据库。
[SQL] 纯文本查看 复制代码
001
002
003
|
create database test; use test; select database (); |
然后我们创建一个表:
[SQL] 纯文本查看 复制代码
001
002
003
004
005
006
007
008
009
010
011
|
mysql> create table t1(id int ); Query OK, 0 rows affected (0.02 sec) mysql> show create table t1; + -------+----------------------------------------------------------------------------------------+ | Table | Create Table | + -------+----------------------------------------------------------------------------------------+ | t1 | CREATE TABLE `t1` ( `id` int (11) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 | + -------+----------------------------------------------------------------------------------------+ |
然后我用下面的命令更改了字符集:
[SQL] 纯文本查看 复制代码
001
002
003
004
005
006
007
008
009
010
011
012
013
|
mysql> ALTER TABLE t1 DEFAULT CHARSET utf8; Query OK, 0 rows affected (0.01 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> show create table t1; + -------+--------------------------------------------------------------------------------------+ | Table | Create Table | + -------+--------------------------------------------------------------------------------------+ | t1 | CREATE TABLE `t1` ( `id` int (11) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 | + -------+--------------------------------------------------------------------------------------+ 1 row in set (0.00 sec) |
然后我们再创建张t2表:
[SQL] 纯文本查看 复制代码
001
002
003
004
|
mysql> create table t2( -> id int ) -> partition by hash(id) -> partitions 5; |
然后我们执行如下shell命令:
[Shell] 纯文本查看 复制代码
001
002
|
[root@localhost mysql] # cd /var/lib/mysql/test [root@localhost test ] # ll |
进入后我们可以看到创建的t1和t2表。
<ignore_js_op>
关于本文章视频见:http://v.youku.com/v_show/id_XNDE1MzgzNjky.html 有兴趣的可以去看看。