以Windows服务方式启动MySQL,并将其默认编码设置为UTF-8

时间:2023-11-25 13:59:38

系统环境:Windows XP Professional 版本 2002 Service Pack 3

// 第1步:创建选项文件。首先下载mysql-5.5.12-win32.zip,只需复制mysql-5.5.12-win32安装包根目录中名为my-*.ini的其中一个文件并重命名为my.ini。这里以my-medium.ini为例,因为它适合适用于web server。

因为MySQL默认编码是latin1,那如何将MySQL默认编码修改为UTF-8呢?只需在my.ini中的[mysqld]组名的末尾添加“character-set-server=utf8”即可,参考自--default-character-set=charset_name。那为什么不用“default-character-set=utf8”呢?因为该参数在MySQL 5.5.3已移除,参考自--default-character-set=charset_name。 所以,建议5.1.*版本及先前版本使用”character-set-server“,而不要使用“default-character-set”,这 样就可以将5.1.*的my.ini直接用于5.5.*中,而无需如何更改(我用UltraEdit将该两个版本的my-medium.ini比较过,内 容一模一样)。你说,何乐而不为呢?

// 第2步:将MySQL默认编码修改为UTF-8

# The following options will be passed to all MySQL clients
# The MySQL server
[mysqld]

......

myisam_sort_buffer_size = 8M (注意:配置选项文件中已有!)
character-set-server=utf8

# 注意:在 Win 7 下安装,还需添加以下配置信息才能将默认编码修改为UTF-8;而 Windows XP 下则无需以下配置信息。

[client]
……
default-character-set=utf8

[mysql]

……
# default-character-set=utf8

为什么“以Windows服务方式启动MySQL”?理由:只需一条命令行即可完成。安装好“MySQL服务”后,该服务并未开启。所以要想马上运行MySQL,需要到Windows服务(在“运行”中键入“services.msc”)启动“MySQL服务”。

// 第3步:以“手动”类型启动MySQL服务

G:\mysql\bin>mysqld --install-manual MySQL
Service successfully installed.

// 启动MySQL服务

G:\mysql\bin>net start mysql
MySQL 服务正在启动 .
MySQL 服务已经启动成功。

// 移除MySQL服务

service.bat remove MySQL

// 验证MySQL默认编码是否为UTF-8?只需打开MySQL查询浏览器(i.e. SQLyog),再连接刚才安装的MySQL服务器,然后输入以下命令即可:

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    G:\\mysql\\share\\charsets\\

show variables like 'collation%';

// 输出结果:

Variable_name    Value
collation_connection    utf8_general_ci
collation_database    utf8_general_ci
collation_server    utf8_general_ci

通过上述验证,说明已成功将MySQL默认编码设置为UTF-8。OK,到此结束 ^-^