mysql修改my.ini配置文件后无法启动问题解决办法,及修改mysql默认编码为utf8mb4的方法

mysql修改my.ini配置文件后无法启动问题解决办法:

今天因为mysql默认的utf8编码无法存储emoji表情导致插入数据报错,于是打算修改配置文件将utf8编码修改为utf8mb4,可是修改后发现mysql无法启动了!!!

经过一番折腾发现原来,mysql配置文件默认是ANSI编码格式,我再修改后不慎将其保存成了UTF-8导致的,于是将my.ini再保存成ANSI编码就可以成功启动了!



将mysql默认编码改成utf8mb4的流程如下:

  1. 关闭mysql服务
  2. 修改my.ini配置文件(修改方法下面有写),注意要保存成ANSI编码
  3. 启动mysql服务
  4. 修改变量,(设置方法下面有写)
  5. 检查是否设置成功,(检查方法下面有写)

修改my.ini配置参考我的配置:只需要关注utf8mb4部分配置就可,其它部分配置不必参考我的

[mysqld] 
character-set-client-handshake = FALSE 
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci 
init_connect='SET NAMES utf8mb4'
sql_mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"
default_storage_engine=innodb
innodb_buffer_pool_size=1000M
innodb_log_file_size=50M
innodb_file_format=barracuda
innodb_file_per_table=true
innodb_large_prefix=true
max_allowed_packet=500M
# 设置mysql的安装目录
basedir=D:\mysql-5.6.40-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\mysql-5.6.40-winx64\data
# 允许最大连接数
max_connections=200

[mysql]
default-character-set = utf8mb4

[client]
default-character-set = utf8mb4

修改变量方法:

执行下面sql就行了

set character_set_client = utf8mb4;
set character_set_connection = utf8mb4;
set character_set_database = utf8mb4;
set character_set_results = utf8mb4;

检查知否设置成功方法:

执行sql

SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collation%';

结果如下说明成功了

mysql修改my.ini配置文件后无法启动问题解决办法,及修改mysql默认编码为utf8mb4的方法_第1张图片

 

你可能感兴趣的:(数据库)