安装完的MySQL的默认字符集为 latin1 ,为了要将其字符集改为用户所需要的(比如utf8),就必须改其相关的配置文件;由于linux下MySQL的默认安装目录分布在不同的文件下;不像windows一样放在同一目录下,只需修改其中的my.ini文件,重起后就生效了;所以先来看看linux下MySQL的数据库文件、配置文件和命令文件分别在不同的目录 :     1、数据库目录,其所创建的数据库文件都在该目录下  /var/lib/mysql/

   2、配置文件 (mysql.server命令及配置文件所在地)  /usr/share/mysql

   3、相关命令(如mysql mysqladmin等)  /usr/bin

   4、启动脚本(如mysql启动命令)  /etc/rc.d/init.d/

查看默认字符集            #mysql -u root - p            #(输入密码)            mysql> show variables like 'character_set%' ;//或者是status+--------------------------+----------------------------+| 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/ |+--------------------------+----------------------------+            修改字符集 :         1.查找/etc目录下是否有my.cnf文件;            #ls -l | grep my.cnf (在/etc下查找是否有my.cnf文件存在)          2.如果没有就要从/usr/share/mysql,拷贝一个到/etc 下,在/usr/share/mysql目录下有五个后缀为.cnf的文件,分别是 my-huge.cnf    my-innodb-heavy-4G.cnf    my-large.cnf   my-medium.cnf     my-small.cnf ;从中随便拷贝一个到/etc目录下并将其改为my.cnf文件,我选择的是my-medium.cnf :           #cp /usr/share/mysql/my-medium.cnf   /etc/my.cnf          3.修改my.cnf文件,在该文件中的三个地方加上 default-character-set=utf8([client] [mysqld] [mysql])             #vi  /etc/my.cnf             修改如下:(红色为添加部分)             [client]            #password       = your_password             port            = 3306             socket          = /var/lib/mysql/mysql.sock             default-character-set=utf8               [mysqld]               port            = 3306                socket          = /var/lib/mysql/mysql.sock                skip-locking                key_buffer = 16M                max_allowed_packet = 1M                table_cache = 64                sort_buffer_size = 512K                net_buffer_length = 8K               read_buffer_size = 256K               read_rnd_buffer_size = 512K               myisam_sort_buffer_size = 8M               default-character-set=utf8               init_connect='SET NAMES utf8'   //此行可不加

               [mysql]               no-auto-rehash               default-character-set=utf8              保存退出;           4.重起MySQL服务器,使其设置的内容生效              #/etc/init.d/mysql  restart            5. 重新登入mysql;               # mysql -u root - p                #(输入密码)               mysql> show variables like 'character_set%' ;+--------------------------+----------------------------+| Variable_name            | Value                      |+--------------------------+----------------------------+| character_set_client     | utf8                       || character_set_connection | utf8                       |(都生成了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/init.d/mysql   [start | stop | restart](实现启动,停止,重启)        也可以通过 #service mysql [start | stop | restart](实现启动,停止,重启)*********************************另外:如果在修改字符集前,尝试在数据库中插入中文,那么当修改了字符集后,在你所插入中文的数据库中(在别的数据库中可能没问题),通过show variables like 'character_set%'查询的结果可如下:+--------------------------+----------------------------+| 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     | utf8                       || character_set_system     | utf8                       || character_sets_dir       | /usr/share/mysql/charsets/ |+--------------------------+----------------------------+如图,character_set_database仍然会为latin1,我采取的办法是先导出该数据库中数据,如果数据不重要,则可drop此数据库,然后再重新create一个数据库。倘若不行的话,可以用命令行的形式

通过MySQL命令行修改:

mysql> set character_set_client=utf8;Query OK, 0 rows affected (0.00 sec)

mysql> set character_set_connection=utf8;
Query OK, 0 rows affected (0.00 sec)

mysql> set character_set_database=utf8;
Query OK, 0 rows affected (0.00 sec)

mysql> set character_set_results=utf8;
Query OK, 0 rows affected (0.00 sec)

mysql> set character_set_server=utf8;
Query OK, 0 rows affected (0.00 sec)

mysql> set character_set_system=utf8;
Query OK, 0 rows affected (0.01 sec)

mysql> set collation_connection=utf8;
Query OK, 0 rows affected (0.01 sec)

mysql> set collation_database=utf8;
Query OK, 0 rows affected (0.01 sec)

mysql> set collation_server=utf8;
Query OK, 0 rows affected (0.01 sec)

查看:
mysql> show variables like 'character_set_%';
+--------------------------+----------------------------+
| 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.03 sec)

mysql> show variables like 'collation_%';
+----------------------+-----------------+
| Variable_name        | Value           |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database   | utf8_general_ci |
| collation_server     | utf8_general_ci |
+----------------------+-----------------+
3 rows in set (0.04 sec)

转载于:https://www.cnblogs.com/yaomajor/p/5711388.html

linux下怎么修改mysql的字符集编码相关推荐

  1. linux 下如何修改mysql授权,linux下mysql添加用户、删除用户、授权、修改密码

    摘要 腾兴网为您分享:linux下mysql添加用户.删除用户.授权.修改密码,之了课堂,云闪付,英语字典,易信等软件知识,以及pr安卓,彩绘大师,微软应用商店,广告屏蔽管家,pandahelper, ...

  2. 批量修改linux服务器密码,Linux下批量修改服务器用户密码方法步骤

    Linux下批量修改服务器用户密码方法步骤 密码快要过期.由于机器数量众多,因此采用批量修改密码的方式来进行处理. 下面是具体步骤: 1.配置ssh免key # ssh-keygen -t rsa - ...

  3. 修改mysql默认字符集为latin1_修改MYSQL默认编码为UTF8

    修改 MYSQL 默认编码为 UTF8 MySQL 的默认编码是 Latin1 , 不支持中文, 那么如何修改 MySQL 的默认编码呢, 下面以 UTF-8 为例来说明 需要注意的是, 要修改的地方 ...

  4. linux批量修改 文件名编码,linux下批量修改文件名

    linux下批量修改文件名 0.问题来源,想把一部分文件加上日期序.也就是在文件名称前加上当前的年月日进行输出. 获取日期格式如下 Zianed@ubuntu:~/public_web_sSmO9OU ...

  5. Mysql的字符集编码选择

    mysql版本:5.7.37 所有内容都来自于mysql5.7文档,这里只是做个笔记,方便以后自己查看. mysql中的基础概念: character set:字符集编码. collations:与字 ...

  6. linux下的PHP+Mysql+PHPWind实现

    linux下的PHP+Mysql+PHPWind实现 1安装httpd.mysql mysql-server php php-mysql php-mbstring yum -y install mys ...

  7. 修改mysql默认字符集的方法

    mysql默认字符集能否进行修改呢?答案是肯定的,下面就将教您两种修改mysql默认字符集的方法,希望对您学习mysql默认字符集方面能有所启迪. 1. 修改my.cnf vi /etc/my.cnf ...

  8. mysql trim 索引_mysql建索引后需要重启数据库修改MySQL的字符集

    windows下的mysql配置文件是my.ini,一般在c:\windows\my.ini或者c:\winnt\my.ini可以直接在这个文件里面加上 W WW.002pc .COM从mysql建索 ...

  9. linux mysql如何远程连接mysql数据库,Linux下远程连接MySQL数据库的方法

    Linux下远程连接MySQL数据库的方法 踩坑笔记 估计搞了一个多小时才把这个远程连接搞好.一台本地电脑,一台云服务器,都是linux系统. 步骤 1.在服务器端开启远程访问 首先进入mysql数据 ...

最新文章

  1. 「 每日一练,快乐水题 」2016. 增量元素之间的最大差值
  2. boost::mp11::mp_clear相关用法的测试程序
  3. fastweixin v1.3.0 发布,极速微信公众号开发框架
  4. 【Linux】基础知识
  5. BZOJ 3144 [Hnoi2013]切糕
  6. jsonp解决ajax跨域问题,用JSONP解决ajax跨域问题
  7. python自学行_有编程基础Python自学行吗?
  8. linq判断集合中相同元素个数_java----Collection集合常用方法
  9. python多线程编程技术主要应用_python多线程,多进程编程。
  10. matlab取整函数与取余函数
  11. 偏微分方程的数值解(六): 偏微分方程的 pdetool 解法
  12. 数据库、数据仓库、大数据平台、数据中台、数据湖大对比
  13. C++实现化学方程式配平
  14. 项目质量管理可能存在的问题及应对策略
  15. 芭蕉树上第二十一根芭蕉-- matlab2017b安装的出现问题
  16. 用纯CSS实现优雅的tab页
  17. ICCV 2021 | 2D和3D通用!港大提出PCRL:新医疗影像自监督SOTA!
  18. 刚刚 Kubernetes 1.25 正式发布,所有变化都在这儿了
  19. __imp____iob_func和__imp__fprintf
  20. krpano使用示例

热门文章

  1. C# 获取wave文件信息【转】
  2. Zarafa 7.0.11/7.1.2 发布
  3. jsonStore加载远程和本地数据实例
  4. XML 增、删、改和查示例
  5. Linux 系统故障分析与排查
  6. Windows 7等多系统的备份与恢复
  7. WSAStartup函数
  8. Spring @Autowired和@Resource
  9. SparkSQL Spark on Hive Hive on Spark
  10. Linux修改密码是提示“passwd: 鉴定令牌操作错误”问题的处理办法