• linux下怎么修改mysql的字符集编码默认分类


    安装完的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%' ;
    +--------------------------+----------------------------+
    | 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/ |
    +--------------------------+----------------------------+

  • 相关阅读:
    view如何被添加到window上并显示出来
    事件分发机制
    绘制机制
    setContentView
    消息机制——handler
    布局文件是如何被解析的?
    Xamarin.ios引用第三方SDK
    Xamarin.ios——First APP
    UITextView 文本垂直居中
    从NavigationController 下的UITableView中移除 header
  • 原文地址:https://www.cnblogs.com/xubc/p/4256169.html
Copyright © 2020-2023  润新知