MySQL手动安装方法与中文解决方案

来源:站长家园会员投稿 时间:2011-04-25 18:21:00 

Debian Etch Linux上成功安装了MySQL 5.0.27 icc版本,并使用JDBC测试中文成功!

中文问题的关键是全部使用UTF-8编码,MySQL 5发布版支持UTF-8,但默认为latin1,Java在内部使用的全部是Unicode,因此要保证JSP页面以UTF-8编码,JDBC驱动采用官方Connector4J 5.0.4,在Resin 3.1/Spring 2.0/Hibernate 3.2环境下测试中文正常。

1. 下载"mysql-standard-5.0.27-linux-i686-icc-glibc23.tar.gz",推荐ICC版本,据称比GCC性能提高10-20

2. 复制到/usr/local/,解压:tar zxvf mysql-standard-5.x....tar.gz

3. 添加用户和组mysql:

groupadd mysql

useradd -g mysql mysql

4. 创建符号连接:/usr/local # ln -s mysql-standard-5.x... mysql

5. cd mysql,当前目录改为/usr/local/mysql/

6. 运行脚步初始化数据库:./scripts/mysql_install_db --user=mysql

7. 设置权限:

/usr/local/mysql # chown -R root .

/usr/local/mysql # chown -R mysql data

/usr/local/mysql # chgrp -R mysql

8. 根据需要创建并修改/etc/my.cnf,参考配置:

[mysqld]

# 设置默认为INNODB表,支持事务:

default-storage-engine=INNODB

# 设置默认的字符集UTF-8:

acter-set-server=utf8

collation-server=utf8_general_ci

default-acter-set=utf8

# 禁用bdb:

skip-bdb

9. 启动MySQL:

/usr/local/mysql/bin # ./mysqld_safe --user=mysql &

10. 初始化root口令:

/usr/local/mysql/bin # ./mysqladmin -u root -p password "password-of-root"

Enter password: 11. 以root登录创建数据库:

/usr/local/mysql # ./mysql -u root -p

Enter password: password-of-root12. 创建一个新用户:

mysql> user test identified by test-password;

13. 创建一个新数据库:

mysql> database testdb default acter set utf8 default collate utf8_general_ci;

务必指定字符集和排序方式,均为UTF-8,这样才能保证创建的表也使用UTF-8。

14. 赋予test用户从localhost访问testdb的权限,并使用口令:

mysql> grant all

on testdb. to test@localhost identified by test-password;注意:要使用JDBC从远程连接MySQL,就必须正确设置test用户权限,MySQL的访问权限由用户名,客户端机器名和口令共同组成,上例表示仅允许test用户在本机(localhost)通过口令连接MySQL。

15. 停止MySQL服务器:

/usr/local/mysql/bin # ./mysqladmin -u root -p shutdown

Enter password: password-of-root

STOPPING server from pid file /usr/local/mysql/data/debian.pid

xxx mysqld ended中文秘籍:

/etc/my.cnf中所有与编码相关的设置均要设定为UTF-8,参考步骤8。

按以下步骤调试:

mysql> status;

注意acterset相关值,必须保证全部为utf8,否则,修改/etc/my.cnf,参考步骤8。

mysql> show variables like ;

除了acter_set_filesystem显示为binary外,其余应该全部显示为utf8,若非utf8,修改/etc/my.cnf,参考步骤8。

mysql> show variables like collation;

显示应该全部为utf8_general_ci,否则,修改/etc/my.cnf,参考步骤8。

mysqlshow -u root -p -i database-name

作用:显示数据库详细信息,如果你没有看到utf8_general_ci,而是latin_swedish_ci,说明数据库编码非UTF-8,中文肯定不正常,删之,然后参考步骤13以UTF-8重新创建数据库。

标签:mysql,中文
0
投稿

猜你喜欢

  • np.where()[0] 和 np.where()[1]的具体使用

    2023-04-21 20:21:29
  • C#连接Oracle数据库使用Oracle.ManagedDataAccess.dll

    2024-01-20 11:52:53
  • python中super().__init__()的用法

    2023-09-06 11:43:07
  • PHPMailer发送邮件功能实现流程

    2023-06-03 13:11:18
  • sqlserver添加sa用户和密码的实现

    2024-01-20 18:42:15
  • 详解Python如何优雅地解析命令行

    2021-02-16 01:53:59
  • python实现文件批量重命名

    2022-06-28 15:29:28
  • ASP+AJAX做类似google的搜索提示

    2008-10-24 13:49:00
  • Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容

    2023-04-01 15:20:05
  • 原生js编写贪吃蛇小游戏

    2023-07-02 05:19:17
  • 总结Python编程中三条常用的技巧

    2022-06-04 05:52:04
  • Linux下python3.7.0安装教程

    2021-07-30 05:25:58
  • 微信小程序顶部导航栏可滑动并选中放大

    2023-08-23 18:49:59
  • Python报错SyntaxError:unexpected EOF while parsing的解决办法

    2023-10-01 10:29:54
  • 火狐浏览器:浏览数据新方式(附模拟图)[译]

    2009-04-23 10:51:00
  • Python基础教程之tcp socket编程详解及简单实例

    2021-04-18 12:04:29
  • Python异常对代码运行性能的影响实例解析

    2023-10-18 23:35:39
  • Go单体服务开发最佳实践总结

    2024-04-26 17:35:48
  • golang 字符串比较是否相等的方法示例

    2024-02-05 14:45:07
  • Python使用pymysql从MySQL数据库中读出数据的方法

    2024-01-26 15:26:24
  • asp之家 网络编程 m.aspxhome.com