Linux 中修改mysql 字符集(编码)
来源:互联网 发布:windows和mac双系统 编辑:程序博客网 时间:2024/05/16 00:57
1、修改mysql 的字符集(针对于小于5.7版本的修改方法)
进入/etc 打开my.cnf
找到对应的位置,添加以下红色部分
[client]
#password = your_password
port = 3306
socket = /var/lib/mysql/mysql.sock
default-character-set=utf8
# Here follows entries for some specific programs
[mysqld]
port = 3306
character_set_server=utf8
character_set_client=utf8
collation-server=utf8_general_ci
socket = /var/lib/mysql/mysql.sock
skip-external-locking
key_buffer_size = 384M
max_allowed_packet = 1M
table_open_cache = 512
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size = 32M
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 8
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
default-character-set=utf8
# Remove the next comment character if you are not familiar with SQL
#safe-updates
然后
service myql stop
service mysql start
提示:建议安装完了mysql 之后就就行更改字符集,不然修改字符集之前的库还是会乱码
2.大于5.7版本的修改方法
linux系统版本Ubuntu 14.04.1 Mysql版本5.7.15
这几天在做管理系统时,做完之后放到前一段购买的腾讯云上测试,发现请求数据发送后显示为乱码,但是在本地测试时却没有发生这种情况,所以我感觉是Linux上Mysql数据库的字符集问题,打开数据库后发现果然是这样。
在Mysql中使用下面代码查看字符集
[sql] view plain copy
- show variables like ‘char%’
会发现 database 的编码方式是latin1 并且server的编码方式也是latin1
database的编码方式如果没有指定,默认使用的就是server 的编码方式所以你会发现这两个字符集是一样的。
然后在Mysql中进行了对database和server的编码方式的修改
[sql] view plain copy
- set character_set_database=utf8;
- set character_set_server=utf8;
结果重启Mysql后发现字符集依然是原来的lantin1
后来在网上搜集了一些资料,才知道如果想让Mysql默认字符集改变需要配置文件,查看了一些文章发现大多数方法都是Mysql5.7.15之前的版本才适用,最后总结了一下,才测试正确,下面是配置方法。
1.首先查看etc安装目录下有没有my.cnf文件
[sql] view plain copy
- cd /etc
- ls -l | grep my.cnf
如果存在可以跳过第二步
2.my.cnf不存在需要到Mysql配置文件路径下复制一个文件过来,配置文件路径在/usr/share/mysql下
我复制的是my-default.cnf文件,在/etc中复制文件过来,将文件改名为my.cnf ,执行以下命令
[sql] view plain copy
- cd /etc
- cp /usr/share/mysql/my-default.cnf my.cnf
3.使用vi编辑器打开my.cnf加入下面几段话
建议先对文件进行备份,不过因为文件本来就是从/usr/share/mysql中复制过来的,也可以不用备份,然后打开
[sql] view plain copy
- cp my.cnf my.cnf.bak
- sudo vi my.cnf
在[mysqld]上面加入下面两句话
[sql] view plain copy
- [client]
- default-character-set=utf8
在[mysqld]最下面加入下面几句话
[sql] view plain copy
- default-storage-engine=INNODB
- character-set-server=utf8
- collation-server=utf8_general_ci
然后保存退出
4.重启Mysql,再查看字符集
[sql] view plain copy
- sudo service mysql restart
发现database和server的字符集都变成了utf8,无论怎么修改,重启后字符集都是utf8,证明你成功了。
如果设置到这里还不行,再进入一下/etc/mysql/mysql.conf.d找到mysqld.cnf文件
[plain] view plain copy
- cd /etc/mysql/mysql.conf.d
- sudo vi mysqld.cnf
然后在mysqld.cnf中[mysqld]下面加入这句话
character-set-server=utf8
然后再重启下Mysql
systemctl stop mysqld
systemctl start mysqld
阅读全文
0 0
- Linux 中修改mysql 字符集(编码)
- 修改mysql字符集编码
- 修改linux字符集编码
- MySql 修改编码以及字符集
- MySQL字符集编码查看 修改。
- MySql修改编码以及字符集
- 修改mysql数据库字符集编码
- Ubuntu16.04中MySQL安装配置及修改字符集编码
- Linux下MySQL 5.5的修改字符集编码为UTF8(彻底解决中文乱码问题)
- Linux下MySQL 5.5的修改字符集编码为UTF8(彻底解决中文乱码问题)
- Linux下MySQL 5.5的修改字符集编码为UTF8(彻底解决中文乱码问题)
- Linux下MySQL 5.5的修改字符集编码为UTF8(彻底解决中文乱码问题)
- Linux下MySQL 5.5的修改字符集编码为UTF8(彻底解决中文乱码问题)
- Linux下MySQL 5.5的修改字符集编码为UTF8(彻底解决中文乱码问题)
- Linux下MySQL 5.5/5.6的修改字符集编码为UTF8(彻底解决中文乱码问题)
- Linux下MySQL 5.5的修改字符集编码为UTF8(彻底解决中文乱码问题)
- Linux下MySQL的修改字符集编码为UTF8(解决中文乱码问题)
- Linux(Centos7)下安装mysql数据库及修改字符集编码
- 程序员去新公司办入职被拒,因离职证明写了这句话
- unity开发Android游戏流程
- React Native之初试小Demo
- 判断手机是否安装高德/百度地图-经纬度坐标转换
- 深入理解Java线程池
- Linux 中修改mysql 字符集(编码)
- 漫画算法:什么是红黑树?
- Parallel&Distributed Algorithm-2
- 趣图:不得了,日本出版社是这样吸引死宅们学编程的
- re模块中match对象的方法和属性
- noip 2013转圈游戏
- VC控件DateTimePicker使用方法及其相关
- HDU 3974 Assign the task (DFS + 线段树)
- SEO优化需结合SMO与SEM排名营销更简单