0
点赞
收藏
分享

微信扫一扫

Mysql优化(2) 字符集设置以及分区

东言肆语 2022-06-20 阅读 70


 

设置编码:
查看字符集的设置

[SQL] 纯文本查看 复制代码

001

​show variables ​​​​like​​​​'character_set_%'​​​​;​

打开/etc/mysql/my.cnf在[mysqld]后添加:

[Plain Text] 纯文本查看 复制代码

001002

​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] 纯文本查看 复制代码

001002003004005006007008

​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] 纯文本查看 复制代码

001002003

​create​​​​database​​​​test;​​​​use test;​​​​select​​​​database​​​​();​

然后我们创建一个表:

[SQL] 纯文本查看 复制代码

001002003004005006007008009010011

​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] 纯文本查看 复制代码

001002003004005006007008009010011012013

​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] 纯文本查看 复制代码

001002003004

​mysql> ​​​​create​​​​table​​​​t2(​​​​    ​​​​-> id ​​​​int​​​​)​​​​    ​​​​-> partition ​​​​by​​​​hash(id)​​​​    ​​​​-> partitions 5;​

然后我们执行如下shell命令:

[Shell] 纯文本查看 复制代码

001002

​[root@localhost mysql]​​​​# cd /var/lib/mysql/test​​​​[root@localhost ​​​​test​​​​]​​​​# ll​

进入后我们可以看到创建的t1和t2表。
<ignore_js_op> 

举报

相关推荐

0 条评论