本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。
目录:
首先cd到用户目录,然后ls -a查看所有文件,去.bash_profile中配置JAVA_HOME
vi .bash_profile
将下面这段复制进去:
export PATH=${PATH}:/usr/local/mysql/bin
:wq!保存退出。
关闭MySQL
sudo /usr/local/mysql/support-files/mysql.server stop
查看一下/usr/local/mysql/support-files文件夹,里面有没有my-default.cnf或my.cnf文件。
如果有:
default-character-set=utf8
在[mysqld]下面加入
default-character-set=utf8
Notice:注意 如果修改后不能启动、报错,试试把
#### (5.5以后系统)如下修改:
[client] default-character-set=utf8 [mysqld] default-storage-engine=INNODB character-set-server=utf8 collation-server=utf8_general_ci
如果没有:/etc下新建my.cnf
$ cd /etc $ sudo vim my.cnf
复制文后附带的文本内容进去。
重启MySQL
sudo /usr/local/mysql/support-files/mysql.server start
> 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/share/mysql/charsets/ | +————————–+—————————-+
## 如果是已有的库,修改方法
### 查看默认的编码格式:
mysql> show variables like “%char%”;
### 查看数据库的编码格式:
mysql> show create database test;
### 建数据库时:
CREATE DATABASE test
CHARACTER SET ‘utf8’ COLLATE ‘utf8_general_ci’;
### 建表时:
CREATE TABLE database_user
( ID
varchar(40) NOT NULL default ‘’, UserID
varchar(40) NOT NULL default ‘’, ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
### 修改数据库为utf8的方法:
mysql>ALTER DATABASE mydatabase DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
### 修改表为utf8的方法:
ALTER TABLE tb_name
DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
## 避免导入数据中文乱码问题
### 将数据编码格式保存为utf-8
设置默认编码为utf8:
set names utf8;
执行SET NAMES utf8的效果等同于同时设定如下:
SET character_set_client=’utf8’; SET character_set_connection=’utf8’; SET character_set_results=’utf8’;
设置数据库db_name默认为utf8:
设置表tb_name默认编码为utf8:
导入:
LOAD DATA LOCAL INFILE ‘C:\utf8.txt’ INTO TABLE yjdb;
### 将数据编码格式保存为ansi(即GBK或GB2312)
设置默认编码为gbk:
set names gbk;
设置数据库db_name默认编码为gbk:
ALTER DATABASE db_name
DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
设置表tb_name默认编码为gbk:
ALTER TABLE tb_name
DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
导入:
LOAD DATA LOCAL INFILE ‘C:\gbk.txt’ INTO TABLE yjdb;
注意:
* UTF8不要导入gbk,gbk不要导入UTF8;
* dos下不支持UTF8的显示;
## 解决网页中乱码的问题
将网站编码设为 utf-8,这样可以兼容世界上所有字符。
如果网站已经运作了好久,已有很多旧数据,不能再更改简体中文的设定,那么建议将页面的编码设为 GBK, GBK与GB2312的区别就在于:GBK能比GB2312显示更多的字符,要显示简体码的繁体字,就只能用GBK。
1. 编辑/etc/my.cnf ,在[mysql]段加入```default_character_set=utf8;```
2. 在编写Connection URL时,加上```?useUnicode=true&characterEncoding=utf-8参;```
3. 在网页代码中加上一个```set names utf8```或者```set names gbk```的指令,告诉MySQL连线内容都要使用utf8或者gbk;
附my.cnf
#
#
#
[client] default-character-set=utf8 #password = your_password port = 3306 socket = /tmp/mysql.sock
[mysqld] default-storage-engine=INNODB character-set-server=utf8 collation-server=utf8_general_ci init_connect=’SET NAMES utf8 port = 3306 socket = /tmp/mysql.sock skip-external-locking key_buffer_size = 16M max_allowed_packet = 1M table_open_cache = 64 sort_buffer_size = 512K net_buffer_length = 8K read_buffer_size = 256K read_rnd_buffer_size = 512K myisam_sort_buffer_size = 8M character-set-server=utf8 init_connect=’SET NAMES utf8’
# #skip-networking
log-bin=mysql-bin
binlog_format=mixed
server-id = 1
#
#
#
#
#
#
#
#
#
#server-id = 2 #
#master-host = #
#master-user = #
#master-password = #
#master-port = #
#log-bin=mysql-bin
#innodb_data_home_dir = /usr/local/mysql/data #innodb_data_file_path = ibdata1:10M:autoextend #innodb_log_group_home_dir = /usr/local/mysql/data
#innodb_buffer_pool_size = 16M #innodb_additional_mem_pool_size = 2M
#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
#safe-updates default-character-set=utf8
[myisamchk] key_buffer_size = 20M sort_buffer_size = 20M read_buffer = 2M write_buffer = 2M
[mysqlhotcopy] interactive-timeout ```