MySQL FAQ

MySQL FAQ
MySQL 常见问题

[MySQL FAQ]系列 -- 如何设定连接服务器时的字符集

1、) 登录服务器后,执行 SET NAMES ‘utf8’; 这样的SQL语句来设定连接字符集为 utf8
2、) 用GUI客户端(如Navicat/MySQL Front)连接服务器时,设定字符集
3、) 用 PhpMyAdmin 连接时,在登录页面选择正确的字符集

[MySQL FAQ]系列 -- 如何为一个字段指定字符集

尽管数据表创建时已经指定默认字符集了,但是该表里面的字段还是可以指定自己的字符集的。

1、创建数据表时,指定其字符集

CREATE TABLE tbl
(
......
name CHAR(20) CHARACTER SET UTF8,
......
) ENGINE = MyISAM DEFAULT CHARSET UTF8;

2、或者采用 ALTER 语法来转换字段的字符集

ALTER TABLE tbl CHANGE name name CHAR(20) CHARACTER SET utf8;

3、采用其他客户端工具来设定,例如 Navicat/MySQL Front/PhpMyAdmin

[MySQL FAQ]系列 -- 如何为一个数据表指定字符集

指定数据表字符集后,该数据表里的所有字符型字段默认都使用该表指定的字符集。

1、创建数据表时,指定其字符集

CREATE TABLE tbl
(
......
) ENGINE = MyISAM DEFAULT CHARSET UTF8;

2、或者采用 ALTER 语法来转换字段的字符集

ALTER TABLE tbl CONVERT TO CHARACTER SET utf8;

3、采用其他客户端工具来设定,例如 Navicat/MySQL Front/PhpMyAdmin

[MySQL FAQ]系列 -- 如何为一个数据库指定字符集

指定数据库字符集后,该数据库下创建的表默认都采用该库指定的字符集。

1、创建数据库时,指定其字符集

CREATE DATABASE db DEFAULT CHARSET UTF8;

2、或者采用 ALTER 语法来转换字段的字符集

ALTER DATABASE db DEFAULT CHARSET UTF8;

[MySQL FAQ]系列 -- 如何更改MySQL的默认字符集

方法1、 用 SET 语法来指定,不加 "GLOBAL" 的话就只对本次会话有效

SET [GLOBAL] character_set_client     = 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;

方法2、 也用SET语法,只对本次会话有效

SET NAMES 'utf8';

方法3、) 直接修改 my.cnf,增加一行内容,然后重启 MySQL,使之全局生效

default-character-set = utf8

[MySQL FAQ]系列 -- 为何会出现大量unauthenticated user

看下手册中的解释是:unauthenticated user refers to a thread that has become associated with a client connection but for which authentication of the client user has not yet been done。意即:有一个线程在处理客户端的连接,但是该客户端还没通过用户验证。
原因可能有:
1、 服务器在做DNS反响解析,解决办法有2:
 1、) 在 hosts 中添加客户端ip,如

192.168.0.1  yejr

 2、) MySQL启动参数增加一个skip-name-resolve,即不启用DNS反响解析
2、服务器的线程还处于排队状态,因此可以加大 back_log

技术相关:

[MySQL FAQ]系列 -- mysql如何调用系统外部程序

其实很简单,利用mysql利用客户端工具即可,例如:

mysql -e "system /bin/sh /home/yejr/yejr.sh"

或者

mysql -e "system /bin/ls /home/yejr"

即可实现.

技术相关:

我在CU上整理的MySQL FAQ

译者:叶金荣(Email:),来源:MySQL手册版本 5.0.1-alpha,转载请注明译者,并且不能用于商业用途,违者必究。

Q: 如何安装LAMP(Linux+Apache+MySQL+PHP)
A:[url]http://www.freelamp.com/1003235699/index_html[/url]

Q: 如何使用rpm方式安装mysql
A:首先下载合适的rpm包,例如下载了文件 MySQL-5.0.15-0.i386.rpm
用一下方法安装:
#rpm -ivhU MySQL-5.0.15-0.i386.rpm
通常情况下,安装完这个rpm包后,只具备有mysqld服务功能,其它相关的client程序和开发包还需要另外安装
#rpm -ivhU MySQL-devel-5.0.15-0.i386.rpm
#rpm -ivhU MySQL-client-5.0.15-0.i386.rpm

Q: 如何安装已经编译好了的mysql二进制包

小谈MySQL字符集

首先,这片文章纯粹是我的个人经验之谈,适用于我常见的环境及项目中.
个人建议,数据库字符集尽量使用utf8(HTML页面对应的是utf-8),以使你的数据能很顺利的实现迁移,因为utf8字符集是目前最适合于实现多种不同字符集之间的转换的字符集,尽管你在命令行工具上可能无法正确查看数据库中的内容,我依然强烈建议使用utf8作为默认字符集.
接下来是完整的一个例子:
1.创建数据库表

页面

Subscribe to RSS - MySQL FAQ