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%' ;//或者是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的字符集编码相关推荐
- linux 下如何修改mysql授权,linux下mysql添加用户、删除用户、授权、修改密码
摘要 腾兴网为您分享:linux下mysql添加用户.删除用户.授权.修改密码,之了课堂,云闪付,英语字典,易信等软件知识,以及pr安卓,彩绘大师,微软应用商店,广告屏蔽管家,pandahelper, ...
- 批量修改linux服务器密码,Linux下批量修改服务器用户密码方法步骤
Linux下批量修改服务器用户密码方法步骤 密码快要过期.由于机器数量众多,因此采用批量修改密码的方式来进行处理. 下面是具体步骤: 1.配置ssh免key # ssh-keygen -t rsa - ...
- 修改mysql默认字符集为latin1_修改MYSQL默认编码为UTF8
修改 MYSQL 默认编码为 UTF8 MySQL 的默认编码是 Latin1 , 不支持中文, 那么如何修改 MySQL 的默认编码呢, 下面以 UTF-8 为例来说明 需要注意的是, 要修改的地方 ...
- linux批量修改 文件名编码,linux下批量修改文件名
linux下批量修改文件名 0.问题来源,想把一部分文件加上日期序.也就是在文件名称前加上当前的年月日进行输出. 获取日期格式如下 Zianed@ubuntu:~/public_web_sSmO9OU ...
- Mysql的字符集编码选择
mysql版本:5.7.37 所有内容都来自于mysql5.7文档,这里只是做个笔记,方便以后自己查看. mysql中的基础概念: character set:字符集编码. collations:与字 ...
- linux下的PHP+Mysql+PHPWind实现
linux下的PHP+Mysql+PHPWind实现 1安装httpd.mysql mysql-server php php-mysql php-mbstring yum -y install mys ...
- 修改mysql默认字符集的方法
mysql默认字符集能否进行修改呢?答案是肯定的,下面就将教您两种修改mysql默认字符集的方法,希望对您学习mysql默认字符集方面能有所启迪. 1. 修改my.cnf vi /etc/my.cnf ...
- mysql trim 索引_mysql建索引后需要重启数据库修改MySQL的字符集
windows下的mysql配置文件是my.ini,一般在c:\windows\my.ini或者c:\winnt\my.ini可以直接在这个文件里面加上 W WW.002pc .COM从mysql建索 ...
- linux mysql如何远程连接mysql数据库,Linux下远程连接MySQL数据库的方法
Linux下远程连接MySQL数据库的方法 踩坑笔记 估计搞了一个多小时才把这个远程连接搞好.一台本地电脑,一台云服务器,都是linux系统. 步骤 1.在服务器端开启远程访问 首先进入mysql数据 ...
最新文章
- 「 每日一练,快乐水题 」2016. 增量元素之间的最大差值
- boost::mp11::mp_clear相关用法的测试程序
- fastweixin v1.3.0 发布,极速微信公众号开发框架
- 【Linux】基础知识
- BZOJ 3144 [Hnoi2013]切糕
- jsonp解决ajax跨域问题,用JSONP解决ajax跨域问题
- python自学行_有编程基础Python自学行吗?
- linq判断集合中相同元素个数_java----Collection集合常用方法
- python多线程编程技术主要应用_python多线程,多进程编程。
- matlab取整函数与取余函数
- 偏微分方程的数值解(六): 偏微分方程的 pdetool 解法
- 数据库、数据仓库、大数据平台、数据中台、数据湖大对比
- C++实现化学方程式配平
- 项目质量管理可能存在的问题及应对策略
- 芭蕉树上第二十一根芭蕉-- matlab2017b安装的出现问题
- 用纯CSS实现优雅的tab页
- ICCV 2021 | 2D和3D通用!港大提出PCRL:新医疗影像自监督SOTA!
- 刚刚 Kubernetes 1.25 正式发布,所有变化都在这儿了
- __imp____iob_func和__imp__fprintf
- krpano使用示例
热门文章
- C# 获取wave文件信息【转】
- Zarafa 7.0.11/7.1.2 发布
- jsonStore加载远程和本地数据实例
- XML 增、删、改和查示例
- Linux 系统故障分析与排查
- Windows 7等多系统的备份与恢复
- WSAStartup函数
- Spring @Autowired和@Resource
- SparkSQL Spark on Hive Hive on Spark
- Linux修改密码是提示“passwd: 鉴定令牌操作错误”问题的处理办法