精华内容
下载资源
问答
  • linux mysql字符集问题

    千次阅读 2018-05-15 15:02:46
    mysql安装的时候一般都会指定字符集,如果没有指定,可能会出现数据库乱码问题。这里将mysql设置为utf8编码。一:登录MySQL查看用SHOW VARIABLES LIKE ‘character%’;下字符集,显示如下:一般来说,character_set...

    mysql安装的时候一般都会指定字符集,如果没有指定,可能会出现数据库乱码问题。这里将mysql设置为utf8编码。

    一:登录MySQL查看用SHOW VARIABLES LIKE ‘character%’;下字符集,显示如下:


    一般来说,character_set_database和character_set_server编码格式正常就不会出现问题,如果还有问题那么就应该是连接层编码格式和数据编码格式不一致导致的。

    可以设置一下

    SET NAMES ‘utf8′;

    它相当于下面的三句指令:

    SET character_set_client = utf8;
    SET character_set_results = utf8;
    SET character_set_connection = utf8;

    如下图所示:


    这时候乱码问题就解决了,但是这个编码格式仅限于当前窗口,其他窗口还是会出现问题,那就需要永久解决编码问题,方式如下:

    编辑my.cnf文件 

    # 在[client]段增加下面代码 
    default-character-set= utf8
    # 在[mysql]段增加下面的代码 
    character-set-server= utf8 
    # 在[mysqld]段增加下面的代码
    character-set-server=utf8

    init_connect='SET NAMES utf8' (设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行,也可以不设置)

    然后重新启动,查看编码,如下图:


    这时候编码就永久解决了。

    参数说明:

    character_set_client:客户端请求数据的字符集。

    character_set_connection:从客户端接收到数据,然后传输的字符集。

    character_set_database:默认数据库的字符集,无论默认数据库如何改变,都是这个字符集;如果没有默认数据库,使character_set_server指定的字符集,此参数无需设置。

    character_set_filesystem:把操作系统上文件名转化成此字符集,即把character_set_client转换character_set_filesystem,默认binary即可。

    character_set_results:结果集的字符集。

    character_set_server:数据库服务器的默认字符集。

    character_set_system:这个值总是utf8,不需要设置,存储系统元数据的字符集。

    -------------------------------------------------------------以上是服务器上只要一个数据库的时候没有问题----

    如果一台服务器上有两个数据库,并且编码格式不一致这样的话就,按照上面在配置文件中设置这character_set_client,character_set_connection,character_set_results三个值没有发生变化。

    一个数据库端口是3306,配置文件路径:/etc/my.cnf 编码格式:gbk

    一个数据库端口是3307,配置文件路径:/usr/local/mysql3307/my.cnf 编码格式utf8

    登录mysql -u root -p 此时默认会加载/etc/my.cnf文件,编码格式会按照这个编码格式进行设置。如果你登录的是端口为3307的数据库查询编码这character_set_client,character_set_connection,character_set_results值会显示gbk,那么如何指定编码,需要在登录进去后执行:set names 'utf8'

    如果是程序连接的话需要指定连接编码格式,这样也不会乱码:

    jdbc.url=jdbc:mysql://localhost:3306/jk?useUnicode=true&characterEncoding=UTF-8

    展开全文
  • linux修改mysql字符

    2010-12-20 10:00:20
    linux修改mysql字符linux修改mysql字符
  • linux下设置mysql字符集为UTF-8以及mysql重启
  • Linux下修改MySQL字符

    2015-03-05 14:25:19
    Linux下修改MySQL字符集 1.查找MySQL的cnf文件的位置 find / -iname '*.cnf' -print /usr/share/mysql/my-innodb-heavy-4G.cnf /usr/share/mysql/my-large.cnf /usr/share/mysql/my-small.cnf /usr/share/mysql/...
  • linux mysql 设置默认字符

    千次阅读 2014-05-09 17:22:26
    安装完的MySQL的默认字符集为 latin1 ,为了要将其字符集改为用户所需要的(比如utf8),就必须改其相关的配置文件;由于linuxMySQL的默认安装目录分布在不同的文件下;不像windows一样放在同一目录下,只需修改...

     安装完的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](实现启动,停止,重启)


    展开全文
  • linux上修改MySQL 字符

    千次阅读 2017-04-28 10:16:53
    输入修改字符集命令mysql可以修改服务/数据库/客户端/连接的字符集 #修改连接字符mysql> set character_set_connection=utf8;如图: 显示Query OK后,说明执行成功.然后通过 status 命令来查看字符

    1. 临时修改

    临时修改,只能在本次mysql运行期间生效.当关闭mysql重新启动后,修改会失效.

    操作步骤:

    1. 进入mysql控制台

    2. 输入修改字符集命令

    mysql可以修改服务/数据库/客户端/连接的字符集

     #修改连接字符集
     mysql> set character_set_connection=utf8;

    如图:
    这里写图片描述

    显示Query OK后,说明执行成功.

    然后通过 status 命令来查看字符集是否修改成功.

    如图:
    这里写图片描述

    可以看到有一行”Conn. characterset“后面的值已经修改为utf8.

    以此类推:

     #修改服务字符集
     mysql> set character_set_server=utf8;
     #修改数据库字符集
     mysql> set character_set_database=utf8;
     #修改客户端字符集
     mysql> set character_set_client=utf8;

    2. 永久修改

    永久修改,顾名思义,修改后永久生效.
    永久修改需要修改mysql的一个配置文件: /etc/my.cnf

    1. 编辑my.cnf

     vi /etc/my.cnf
     # 或者使用gedit进入图形化界面(前提:可以在图形界面操作)
     gedit /etc/my.cnf

    接下来我使用 vi 编辑器进行修改

    [client]下面加上default_character_set = utf8.
    [mysqld]下面加上character-set-server = utf8.
    [mysql]下面加上default_character_set = utf8.

    如果文件中没有[client]或者[mysql],那就自己写一个.

    如图:
    这里写图片描述
    这里写图片描述

    然后:wq保存,退出.

    2. 重启mysql数据库

    我mysql的service名为:mysql.server,所以我可以使用以下方式重启我的mysql.

      sudo service mysql.server restart

    重启后,登录mysql控制台,然后输入status命令查看字符集是否修改成功.

    展开全文
  • Linux - 修改MySQL字符集等配置

    千次阅读 2017-12-14 10:28:35
    如下图所示,分别使用不同命令查看当前数据库字符集:编辑/etc/my.cnf[mysql] default-character-set=utf8[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-...

    如下图所示,分别使用不同命令查看当前数据库字符集:

    show variables like '%char%';
    
    show global variables like '%char%';
    

    这里写图片描述


    编辑/etc/my.cnf

    [mysql]
    default-character-set=utf8
    
    [mysqld]
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    user=mysql
    # Disabling symbolic-links is recommended to prevent assorted security risks
    symbolic-links=0
    character_set_server = utf8
    init_connect='SET NAMES utf8'
    #lower_case_table_names=1  忽略大小写
    
    [mysqld_safe]
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid
    default-character-set = utf8
    
    [mysql.server]
    default-character-set = utf8
    
    [client]
    default-character-set = utf8
    

    它相当于以下命令:

    SET character_set_client = utf8;
    SET character_set_server=utf8;
    SET character_set_results = utf8;
    SET character_set_connection = utf8;
    

    试试下面的命令:

    SET GLOBAL character_set_clinet=utf8;//客户端需要的
    SET GLOBAL character_set_connection=utf8;//查询连接中的文本编码
    SET GLOBAL character_set_results=utf8;//mysql返回结果的编码
    SET GLOBAL character_set_server=utf8;//mysql服务器存储文本的格式
    SET GLOBAL character_set_database=utf8;//数据库
    

    重启mysql服务,查看字符集:


    这里写图片描述

    如果脚本文件保存时使用了DOS格式,Linux中可能会看到这样的错误:/bin/sh^M:损坏的解释器: 没有那个文件或目录。使用VIM命令,进入命令行模式,执行如下操作即可。

    :set ff=unix
    :wq
    
    展开全文
  • 下面小编就为大家带来一篇解决linux的redhat版上mysql字符乱码的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 安装版本为linux 64位的mysql-5.x即可 安装方法 采用最为方便、主流的yum安装方法,一般linux的默认yum repo源当中是有mysql安装的,可以直接yum安装。 yum install mysql-server `` 该命令会安装相关依赖,...
  • LinuxMysql字符集编码设置

    千次阅读 2012-08-23 09:02:01
    #cp /usr/share/mysql/my-media.cnf /etc/my.cnf  然后修改 /etc/my.cnf 文件  在[client ] 下面加入 default-character-set=utf8  在[ mysqld ] 下面加 default-character-set=utf8 i
  • LinuxMysql字符集编码问题

    千次阅读 2013-12-18 09:51:49
     在mysql 中插入中文的时候出现乱码! 在网上找了一下解决方法. 呵呵,方法基本上都是一致的.  1 . copy 一个文件成 /etc/my.cnf  cp /usr/share/mysql/my-large.cnf /etc/my.cnf 然后修改 /etc/my.cnf ...
  • linux mysql5.7设置中文字符

    千次阅读 2017-03-30 16:27:45
    ubuntu16.04已测试 注意版本,好像从5.6根5.5就不一样,配置文件更深了一层。 1.用vim或nano编辑 /etc/mysql/mysql.conf.d/mysqld.cnf 2.[mysqld]后面添加 character_set_server=utf8 ...4.登录mysql #mysql ...
  • linux系统下修改Mysql字符集的相关操作及问题 方法一:在linux根目下查找 mysql配置文件一般默认为 /etc/my.cnf .(如果你找不到在哪儿, 用 find /-iname ‘*.cnf’ -print 来找配置文件),找到配置文件之后。 ...
  • 1 查看字符集支持 show character set; 2 查看字符集相关变量 show variables like "character_set%"; ...3 设置默认字符集 ...MySQL默认安装使用的字符集是latin1。 为解决乱码问题,最简单的办法就是修改
  • linuxmysql 设置默认字符

    千次阅读 2018-05-19 09:22:43
    mysql设置字符集 进入mysql查询当前字符编码 show variables like '%char%'; 展示当前表的sql语句 show create table student 可以单独修改当前表的字符集 ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8;...
  • Linux mysql修改默认字符集永久为UTF-8

    千次阅读 2017-11-15 11:12:56
    对于中文来说,数据库编码一直是个问题(心里一万个**跑过,谁叫mysql是外国人折腾出来),在Linux下设置编码全部永久为utf-8方法如下:(这里不说命令设置,命令行设置是临时的) 在没改配置前,进入mysql运行 ...
  • linux mysql 5.7 修改默认字符集为utf8

    万次阅读 2016-05-19 16:35:33
    1、通过 SHOW VARIABLES LIKE 'character... 查看mysql字符集情况 mysql> show variables like "%char%"; +--------------------------+---------------+ | Variable_name | Value | +--------------------------+-----
  • MySQL字符

    千次阅读 2019-06-30 21:27:10
    mysql字符集基础知识 1.什么叫字符集?常用的字符集的分类? 字符集就是字符和编码的集合,常用的中文字符集是gbk,英文字符集是ASCII 多种字符在一个字符集里,常用的UTF8 2.数据库存取数据与字符集的关系 数据库...
  • Linux 设置mysql默认字符集为utf8

    千次阅读 2018-11-05 18:00:15
    sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf 寻找character-set-server=xxxx修改为character-set-server=utf8 如果找不到, 直接追加语句 2. 修改mysql配置 sudo vi /etc/mysql/conf.d/mysql.cnf 寻找default-...
  • linux下修改数据库mysql字符编码为UTF8

    千次阅读 2015-04-28 16:25:03
    修改数据库mysql字符编码为UTF8 Mysql数据库是一个开源的数据库,应用非常广泛。以下是修改mysql数据库的字符编码的操作过程。 步骤1:查看当前的字符编码方法 mysql> show variables like'character%'; +-------...
  • linux 系统下修改Mysql默认字符

    万次阅读 2016-10-04 20:40:09
     这几天在做管理系统时,做完之后放到前一段购买的腾讯云上测试,发现请求数据发送后显示为乱码,但是在本地测试时却没有发生这种情况,所以我感觉是LinuxMysql数据库的字符集问题,打开数据库后发现果然是这样。...
  • linux系统——mysql数据库默认字符集详解 - mysql字符集配置细化到四种 对数据库server配置 对库设置 对表设置 对列设置 - 对mysql-server设置 对server设置是最简单粗暴的方法,配置如下: vim /etc/my.cnf ...
  • MySQL字符编码设置

    2020-12-14 20:33:55
    通过配置文件修改my.ini(windows下)或/etc/my.cnf(linux下)  分别添加如下内容  [mysqld]  character_server_set=utf8  [mysql]  default-character-set=utf8  [mysql.server]  default-character-set...
  • 转自:... Liunx下修改MySQL字符集: 1.查找MySQL的cnf文件的位置 find / -iname '*.cnf' -print /usr/share/mysql/my-innodb-heavy-4G.cnf /usr/share/mysql/my-large.cnf
  • 原文地址:LinuxMySQL导入gbk字符集数据库乱码问题解决方案作者:邓强首先,登录你的mysql 如:/opt/lampp/bin/mysql -uroot -ppwd123 创建要导入的数据库 mysql> create database mtest; 修改数据库的字符集 ...
  • 1.通过配置文件修改my.ini(windows下)或/etc/my.cnf(linux下) 分别添加如下内容 [mysqld] character_server_set=utf8 [mysql] default-character-set=utf8 [mysql.server] default-character-set=utf8 [mysql_safe]...
  • linux下解决mysql字符编码问题

    千次阅读 2010-03-04 17:27:00
    http://hi.baidu.com/emersonm/blog/item/ee230a36ca566fd7a2cc2b4a.htmllinux下解决mysql字符编码问题2009-10-06 21:03mysql字符编码是比繁琐的事情,我用的fedora11默认安装mysql5.1$mysql --user=root --...
  • 今天安装了最新的mysql,想改字符集为utf-8防止中文插入数据乱码,然后my.cnf配置文件啥都没有,改了也没用(手动笑哭)。 正确姿势: 1.vim编辑 /etc/mysql/mysql.conf.d/mysqld.cnf 2.[mysqld]后面添加 character_...
  • 查看mysql字符mysql> show variables like 'collation_%'; mysql> show variables like 'character_set_%'; 修改数据库的字符集  mysql>use databaseName  mysql>alter database databaseName ...
  • LinuxMySQL的彻底卸载和安装配置字符集 前言:  Linux环境下MySQL的安装和配置在网上已经有很多教程了。之所以写这篇文章是因为在配置字符集的时候找了网上的一些教程发现并不能用导致折腾了一阵子。下面的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 126,939
精华内容 50,775
关键字:

linuxmysql字符

linux 订阅
mysql 订阅