1.修改MySQL数据库默认编码

linux系统下,修改MySQL数据库默认编码的步骤为:
停止MySQL的运行
/etc/init.d/mysql start (stop) 为启动和停止服务器
MySQL主配置文件为my.cnf,一般目录为/etc/mysql
var/lib/mysql/ 放置的是数据库表文件夹,这里的mysql相当于windows下mysql的date文件夹
当我们需要修改MySQL数据库的默认编码时,需要编辑my.cnf文件进行编码修改,在linux下修改mysql的配置文件my.cnf,文件位置默认/etc/my.cnf文件

找到客户端配置[client] 在下面添加
default-character-set=utf8 默认字符集为utf8
在找到[mysql] 添加
default-character-set=utf8 默认字符集为utf8
在找到[mysqld] 添加
default-character-set=utf8 默认字符集为utf8

如果Starting MySQL…………The server quit without updating PID file (/var/lib/mysql/node1.pid). [faild]

改成 character_set_server=utf8;
init_connect=’SET NAMES utf8′ (设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行)

修改好后,重新启动mysql 即可,重新查询数据库编码可发现编码方式的改变:
>show variables like ‘character%';
+————————–+—————————-+
| 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/ |
+————————–+—————————-+

PS:jdbc:mysql://localhost:3306/mysql?useUnicode=true&characterEncoding=utf-8

 

查看表各列的字符编码:
show full columns from 表名;

2.修改用户访问权限

grant all on *.* to root@”%” identified by ‘abc123′;

3.创建用户并授权

create database taxioncall;
CREATE USER ‘taxioncall’@’db01.yijiaoche.net’ IDENTIFIED BY ‘123456’;
grant all on *.* to taxioncall@”db01.yijiaoche.net” identified by ‘123456’;
grant all on *.* to taxioncall@”localhost” identified by ‘123456’;

1)创建数据库bugs
create database reviewboard;
2)对bugs进行设置权限
grant all privileges on reviewboard.* to ‘reviewboard’@’localhost’ identified by ‘reviewboard';
grant all privileges on reviewboard.* to ‘reviewboard’@’%’ identified by ‘reviewboard';
其中on后面的bugs为数据库名,to后面的bugs为用户名,by后面的root为密码(用户可自行设置)
3)从mysql数据库授权表中重新装载权限
Flush privileges;

4.修改表字符集

ALTER TABLE temp CONVERT TO CHARACTER SET utf8 collate utf8_unicode_ci

对中、英文来说没有实质的差别。
utf8_general_ci校对速度快,但准确度稍差。
utf8_unicode_ci准确度高,但校对速度稍慢。

如果你的应用有德语、法语或者俄语,请一定使用utf8_unicode_ci。

我自己一般用utf8_general_ci就够了,到现在也没发现问题。。。