问题:不允许重新启动的生产环境出现字符集设置不对,如何从默认的latin1修改为utf8

生产环境正确做法和步骤:

1.在配置文件my.cnf中 [client] 增加 default-character-set =utf8 ,会立即对本机上的新创建连接生效

2.在配置文件my.cnf中 [mysqld] 增加 default-character-set =utf8 ,待mysqld服务重新启动后生效

3. 执行SET语句修改字符集,对非本机新创建的连接也会生效

SET GLOBAL character_set_clinet=utf8;
SET GLOBAL character_set_connection=utf8;
SET GLOBAL character_set_database=utf8;
SET GLOBAL character_set_results=utf8;
SET GLOBAL character_set_server=utf8;

4.对于之前的连接线程,则没有办法,除非他们自己设置为utf8 或者等待其断开重新连接