修改mysql字符集
 
    很多DBA都会遇见这种情况,数据库使用一段时间,字符集变了。比如以前默认使用的是lain1,现在为了兼容UTF8,只有把以前的编码也改成UTF8的情况。
     那么怎么样才能算比较完美的转换呢。下面是的操作步骤
1、到处表结构,没有数据的。
 mysqldump -uroot -p --default-character-set=latin1 -d LOGIN_DB >  LOGIN_DB.sql
 
2、修改LOGIN_DB.sql中定义字符集的位置为自己的需要的字符集
省略.........
) ENGINE=MyISAM AUTO_INCREMENT=148 DEFAULT CHARSET=utf8;
 
3、锁定表或者停止数据库后,导出数据
mysqldump -uroot -p --quick --no-create-info --extended-insert --default-character-set=latin1 LOGIN_DB > LOGIN_DB_DATA.sql
 
4、打开LOGIN_DB_DATA.sql,在最前面添加
SET NAMES UTF8;

5、创建新字符集的数据库
create database databasesname default charset utf8;
 
6、创建表,执行如下语句
mysql -uroot -p databasesname < LOGIN_DB.sql

7、导入数据
mysql -uroot -p databasesname < LOGIN_DB_DATA.sql
8、如果想在远程终端上看机数据库显示中文,还需要注意一下几点
     1、linux系统支持中文
     2、LANG=en_US.UTF-8
     3、登录软件,比如putty、secureCRT等,回话编码一定要是UTF8
     4、mysql客户端一定要是default-character-set=utf8