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 有兴趣的可以去看看。

http://www.sodu666.com/ZeTianJi/

http://tieba.sodu666.com/p_5.html

posted @ 2017-03-19 13:53  onebyck  阅读(250)  评论(0编辑  收藏  举报