最近安装了
mac osx lion系统,然后安装了
mysql5.5.16版本的数据库进行开发,但是大家都知道,mysql的默认编码是
latin1,如果存储中文的话就会出现乱码,然后就狂google这个问题,但是一直都没有解决,网上大部分的回答都是如下:
1.拷贝
/usr/local/mysql/support-files下的任意一个
*.cnf文件到
/etc/my.cnf;
2.在
my.cnf文件的
[mysqld]和
[client]后面添加一句
default-character-set=utf8(或者是default_character_set=utf8);
3.保存退出;
4.重新启动mysql服务器就可以。
可是我试过好多次,这样修改之后,
mysql服务根本就启动不了。
偶然的机会,我发现了一个关于在linux下配置mysql的编码问题的方法,抱着试试看的态度,我进行了修改,发现真的可以用,因此发这篇博文希望装mac的朋友不用再走弯路了。配置方法如下:
1.拷贝
/usr/local/mysql/support-files下的任意一个
*.cnf文件到
/etc/my.cnf;
2.在
my.cnf文件的
[client]后面添加一句
default-character-set=utf8(
不是default_character_set=utf8[i][/i],这个配置我没有试过,不知道能不能成功),关键在这里的配置,在[mysqld]后面添加如下三句:
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci;
3.保存退出;
4.重新启动mysql服务器就可以。
然后再就入mysql数据库查看编码发现改成了utf8了。
下面是我重启mysql服务器进入mysql数据库查出来的结果:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 520
Server version: 5.5.16 MySQL Community Server (GPL)
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show variables like '%char%';
+--------------------------+--------------------------------------------------------+
| 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/local/mysql-5.5.16-osx10.6-x86_64/share/charsets/ |
+--------------------------+--------------------------------------------------------+
8 rows in set (0.00 sec)
至此,这个困扰多日的问题终于解决了。
附修改好的 my.cnf文件内容,不知道为什么附件我上传不了,就把代码贴出来吧:
# Example MySQL config file for small systems.
#
# This is for a system with little memory (<= 64M) where MySQL is only used
# from time to time and it's important that the mysqld daemon
# doesn't use much resources.
#
# MySQL programs look for option files in a set of
# locations which depend on the deployment platform.
# You can copy this option file to one of those
# locations. For information about these locations, see:
# http://dev.mysql.com/doc/mysql/en/option-files.html
#
# In this file, you can use all long options that a program supports.
# If you want to know which options a program supports, run the program
# with the "--help" option.
# The following options will be passed to all MySQL clients
[client]
default-character-set=utf8
#password = your_password
port = 3306
socket = /tmp/mysql.sock
# Here follows entries for some specific programs
# The MySQL server
[mysqld]
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci
port = 3306
socket = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 16K
max_allowed_packet = 1M
table_open_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 128K
# Don't listen on a TCP/IP port at all. This can be a security enhancement,
# if all processes that need to connect to mysqld run on the same host.
# All interaction with mysqld must be made via Unix sockets or named pipes.
# Note that using this option without enabling named pipes on Windows
# (using the "enable-named-pipe" option) will render mysqld useless!
#
#skip-networking
server-id = 1
# Uncomment the following if you want to log updates
#log-bin=mysql-bin
# binary logging format - mixed recommended
#binlog_format=mixed
# Causes updates to non-transactional engines using statement format to be
# written directly to binary log. Before using this option make sure that
# there are no dependencies between transactional and non-transactional
# tables such as in the statement INSERT INTO t_myisam SELECT * FROM
# t_innodb; otherwise, slaves may diverge from the master.
#binlog_direct_non_transactional_updates=TRUE
# Uncomment the following if you are using InnoDB tables
#innodb_data_home_dir = /usr/local/mysql/data
#innodb_data_file_path = ibdata1:10M:autoextend
#innodb_log_group_home_dir = /usr/local/mysql/data
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
#innodb_buffer_pool_size = 16M
#innodb_additional_mem_pool_size = 2M
# Set .._log_file_size to 25 % of buffer pool size
#innodb_log_file_size = 5M
#innodb_log_buffer_size = 8M
#innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates
[myisamchk]
key_buffer_size = 8M
sort_buffer_size = 8M
[mysqlhotcopy]
interactive-timeout
分享到:
相关推荐
MySQL数据库的核心特性包括: 1. **关系型数据存储**:MySQL基于SQL(结构化查询语言)标准,支持创建、查询、更新和删除表等基本操作,以及复杂的联接、子查询和事务处理。 2. **高性能**:MySQL设计时就考虑了...
在macOS系统中,使用MySQL数据库时,可能会遇到中文乱码的问题,这通常是由于字符集设置不正确导致的。本文将详细介绍如何解决macOS系统下MySQL中文乱码的问题,通过修改配置文件my.cnf来调整MySQL的字符集,确保...
Mac环境下操作MySQL数据库的方法涉及多个知识点,包括本地服务器搭建、PHP环境配置、MySQL数据库操作以及PHP与MySQL数据库的连接。在Mac系统下,搭建本地服务器常用MAMP软件,该软件将网站目录设定在/Applications/...
功能特点: 支持多达30种编码方式 快速导出/导入、备份/还原数据库的SQL/CSV文件 最高版本支持MySQL 5.6 内置强大的数据库查询编辑器,...快速在Mac上架设本地MySQL数据库 在MAMP/XAMP架构上连接数据库 SSH连接模式
在使用Mac OS操作系统中,MySQL数据库处理中文数据时可能会出现乱码问题,这通常是由于编码设置不一致导致的。本文将详细介绍如何解决Mac Mysql数据库中的中文乱码问题。 首先,当我们在Java等编程语言中使用框架...
2. **安装与配置**:学习如何在不同操作系统(如Windows、Mac OS或Linux)上安装MySQL Workbench,并进行必要的配置,如连接到本地或远程的MySQL服务器。 3. **数据建模(ER图)**:MySQL Workbench提供了直观的...
### Eclipse连接MySQL数据库知识点详解 #### 一、环境搭建与准备 **1.1 安装JDK1.6** - **目的**:Java Development Kit (JDK) 是开发 Java 应用的基础工具包,本案例中需要安装 JDK1.6。 - **步骤**: - 下载 ...
Navicat是一款强大的MySQL数据库管理工具,提供跨平台支持,包括Windows、Mac OS和Linux。它具备直观的图形用户界面,使得数据库管理更加简便,包括数据模型构建、数据传输、数据同步、结构同步、导入/导出、备份、...
### MySQL数据库实战教程知识点详解 #### 1. MySQL简介 - **历史背景**:MySQL是由瑞典MySQL AB公司开发的一款开放源代码的关系型数据库管理系统(RDBMS),后来被Sun Microsystems收购,现属于Oracle公司旗下产品。...
这个压缩包包含了一系列与在苹果操作系统上安装、配置、管理和使用 MySQL 相关的资源,以及 Navicat 这款流行的数据库管理工具。 首先,`mysql-5.7.23-macos10.13-x86_64.dmg` 文件是 MySQL 5.7.23 的 Mac 版本安装...
在学习和实践中,掌握如何启动和登录MySQL数据库服务器至关重要。首先,需要理解MySQL的基本概念和其优势,比如它的可移植性、运行速度、跨平台支持、多语言兼容性、丰富的存储引擎以及安全性。接着,熟悉MySQL的新...
MySQL驱动包`mysql-connector-java-5.1.41-bin.zip`是专门为Java开发者设计的,用于在Java应用程序中连接MySQL数据库的JDBC驱动程序。这个压缩包包含了MySQL Connector/J,它是MySQL官方提供的Java Database ...
总结一下,本文详细介绍了在Django 2.2中连接MySQL数据库的步骤,包括安装`mysqlclient`、处理版本不兼容和编码错误,以及配置`settings.py`文件。遵循这些步骤,你应该能够顺利地在Django项目中使用MySQL数据库。在...
MySQL数据库在处理中文字符时,有时会出现中文乱码的问题,这通常是由于字符编码设置不一致导致的。在本文中,我们将深入探讨这个问题,并提供一种解决方案——通过修改配置文件来解决MySQL中文乱码。 首先,我们...
在Mac环境下使用MySQL 5.7.21时,可能会遇到字符编码问题,特别是当数据库默认的`character_set_server`值设置为`latin1`而非常见的`utf8`时,这会导致处理UTF-8编码的数据时出现乱码或无法正确显示中文字符。...
这样,`\r\n`将被替换为单一的`\n`字符(`chr(10)`),这在大多数情况下能满足MySQL数据库的需求。 总结 理解数据库和前端交互中的换行符差异是开发高效Web应用的关键。正确处理这些换行符可以避免显示问题,确保...
即使 Pwiz 存在,我还是在知道它之前编码了这个转换器。 我继续添加对 ENUM、外键和唯一索引的支持。 兼容性 与 PostgreSQL 或 SQLite 不兼容! 仅限 MySQL。 与 InnoDB 引擎配合使用效果最佳。 与 MyISAM 引擎...
1. **修改my.ini配置文件**:在安装目录下的my.ini文件中,可以设置全局的字符集。例如,将`character_set_server=utf8mb4`和`collation_server=utf8mb4_unicode_ci`添加到[mysqld]段落下,可以确保服务器使用UTF-8...