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重新创建数据库。


猜你喜欢
- 反向传递法则是深度学习中最为重要的一部分,torch中的backward可以对计算图中的梯度进行计算和累积这里通过一段程序来演示基本的bac
- 很多年前,我们就可以轻易的从很多国营商场、火车车厢、饭馆旅馆中看到墙上挂的那个小本本-意见薄,作为经营方与顾客沟通的
- 这篇是Nicholas讨论如果防止脚本失控的第二篇,主要讨论了如何重构嵌套循环、递归,以及那些在函数内部同时执行很多子操作的函数。基本的思想
- 在使用缓存时,容易发生缓存击穿。缓存击穿:一个存在的key,在缓存过期的瞬间,同时有大量的请求过来,造成所有请求都去读dB,这些请求都会击穿
- 均匀性度量图像分割是图像像素分割的一种方法,当然还有其他很多的方法。这里简单的介绍下其原理和实现代码【有源码】其流程大概分为一下几步1、确定
- 由于图片水印的种类有很多,今天我们先讲最简单的一种。即上图中的①类水印,这种水印存在白色背景上的文档里,水印是灰色,需要保留的文字是黑色。这
- 官方文档https://github.com/LeetCode-OpenSource/vscode-leetcode/blob/master
- 问:Perl下应当如何连接Access数据库答:首先需要安装Win32-ODBC模块,具体的步骤如下:1:从TOOLS栏目中下载Win32-
- 效果图如下所示: 前言嗨,说起探探想必各位程序汪都不陌生(毕竟妹子很多),能在上面丝滑的翻牌子,探探的的堆叠滑动组件起到了关键的作
- python是免费的么?python是免费的,也就是开源的。编程软件的盈利方式就是你使用它, 用的人越多越值钱。注:Python 是一个高层
- python爬虫要用到的库:请求库:实现 HTTP 请求操作urllib:一系列用于操作URL的功能。requests:基于 urllib
- 本文实例为大家分享了Python OpenCV实现视频追踪的具体代码,供大家参考,具体内容如下1. MeanShift假设有一堆点集和一个圆
- 前言我们前面对matplotlib模块底层结构学习,对其pyplot类(脚本层)类提供的绘制折线图、柱状图、饼图、直方图等统计图表的相关方法
- 目录前言一、首先二、接下来1.对照人脸获取2. 通过算法建立对照模型3.识别前言今天,我们用Python实现简单的人脸识别技术!Python
- 可控制的滚动新闻不同于自动的滚动条,它是通过按钮控制移动的,当你把鼠标放在按钮上时,新闻内容就会向上或
- 本文的目的是探讨JS相关技术,并不是以杀毒为主要目的,杀毒只是为讲解一些JS做铺垫的,呵呵,文章有点长,倒杯咖啡或者清茶慢慢看,学习切勿急躁
- 假设名为A.py的文件需要调用B.py文件内的C(x,y)函数假如在同一目录下,则只需import Bif __name__ == &quo
- 这段时间服务器崩溃2次,一直没有找到原因,今天看到论坛发出的错误信息邮件,想起可能是mysql的默认连接数引起的问题,一查果然,老天,默认
- 我就废话不多说了,还是直接上代码吧!import osimport xml.dom.minidomimport cv2 as cvImgPa
- 数据库分类早期数据库模型有三种,分别为层次式数据库、网络式数据库和关系型数据库。而在当今的互联网中,通常把数据库分为两类,即关系型数据库和非