问题解决了,原因是在my.cnf中缺少了如下代码:
[client]
default-character-set=utf8
[mysqld]
default-character-set=utf8
如果不加以上代码,那么即便MYSQL编译安装时指定的编码是UTF8,那么在建库时其默认编码仍是LATIN1,而由于字符集的继承性,库中的表也是LATIN1的了。
这里列几条命令,大家可以自己试下:
1.列出MYSQL支持的所有字符集:
SHOW CHARACTER SET;
2.当前MYSQL服务器字符集设置
SHOW VARIABLES LIKE 'character_set_%';
3.当前MYSQL服务器字符集校验设置
SHOW VARIABLES LIKE 'collation_%';
4.显示某数据库字符集设置
show create database 数据库名;
5.显示某数据表字符集设置
show create table 表名;
6.修改数据库字符集
alter database 数据库名 default character set 'utf8';
7.修改数据表字符集
alter table 表名 default character set 'utf8';
8.建库时指定字符集
create database 数据库名 character set gbk collate gbk_chinese_ci;
9.建表时指定字符集
CREATE TABLE `mysqlcode` (
`id` TINYINT( 255 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`content` VARCHAR( 255 ) NOT ......
http://www.ej38.com/showinfo/mysql-130795.html
CentOS下Mysql实现数据库主从同步
一、环境
A服务器: 192.168.10.42 主服务器master CentOS 5 Mysql 5.1.34
B服务器: 192.168.10.68 副服务器slave CentOS 5 Mysql 5.0.56
二、设置Master服务器
1、编辑Master上的/etc/my.cnf文件
在
# Replication Master Server (default)
# binary logging is required for replication
添加如下内容:
log-bin=/var/log/mysql/updatelog
server-id = 1
binlog-do-db=test
binlog-ignore-db=mysql
2、在Master服务器的Mysql上增加同步帐号
mysql>GRANT PRIVILEGES on *.* back@192.168.10.68 IDENTIFIED BY '123456'
mysql>FLUSH PRIVILEGES;
3、重新启动mysql
service mysql restart;
4、创建需要同步的数据库sycronDb
三、设置Slave服务器
1、修改/etc/my.cnf文件
server-id = 2
master-host = 192.168.0.1
master-user = ba ......
问题:一开始我用Navicat Lite for mysql 将数据库转存储位sql文件。打开之后发现,中文都变成了乱码。
所以 在网上搜索了些资料看看。发觉大家都是用命令导出的。用了之后,中文就不乱码了。解决了我的一个难题。特此记下。
方法:
首先确认 mysql服务是开启的。
然后点“开始”运行输入cmd,进入DOS环境。cd到mysql/bin目录
一、备份数据库:(命令在DOS的mysql\bin目录下执行)
mysqldump --opt school>school.bbb
注释:将数据库school备份到school.bbb文件,school.bbb是一个文本文件,文件名任取,打开看看你会有新发现。
1.导出整个数据库
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u root -p aikersql> aiker.sql(sql文件在bin目录被创建)
2.导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u aiker -p aikersql users> aiker_users.sql
3.导出一个数据库结构
mysqldump -u root -p -d --add-drop-table aikersql>d:\aiker_db.sql
-d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table
二.导入数据库
常用source 命令
进入mysql数据库控制台,如m ......
mysqlfront连接时出现“程序注册时间到期了,程序将被限制在淡模式下运行”这个问题时,不用重装,只需在Mysql Front 的帮助菜单项的登记里输入以下Mysql Front的注册码即可。
MysqlFront注册码如下:
0hjwKUddagvS41S9TIb8EwuiXwo4+dlr
t8z9sq/YRlP9e0zTx7jVlriD8bWlwoJM
TRlllybJ0+wce5rRZGaMBnWJH5H0/Pwv
mUPx27SCgyNM1zkDOo5Mj8qnpR9195QN
yv4Fsr4lVYLx5qWHxqpILfqw7PgE3piH
fXEnZ5GprnXuKAanAsmx6omli+kXkHBq
/fT5B62tSXIZQ3euMYCzclaYW47MpKhR
3BUTBoHFzhiGXM5R0ApItyPkgDKnaOlV
ocvgFY3JOeHAP1KF6/mufA==
我把:
D:\Program Files\MySQL
删除了。注册表里所有的MySQL项都清除了。重启后,还是没有办法解决。MySQL是个流氓软件,它在系统的其它地方写了很多数据。光在Program Files和注册表里是没有办法彻底删除了。
后来,我自己解决了。设置向导前,先在向导里删除实例。如下图。
(先在控制面板里删除MySQL程序,再删除Program Files的MySQL文件夹。) ......
一、数字类型
所谓的“数字类”,就是指 DECIMAL 和
NUMERIC,它们是同一种类型。它严格的说不是一种数字类型,因为他们实际上是将数字以字符串形式保存的;他的值的每一位(包括小数点)占一个字节的存储空间,因此这种类型耗费空间比较大。但是它的一个突出的优点是小数的位数固定,在运算中不会“失真”,所以比较适合用于“价格”、“金额”这样对精度要求不高但准确度要求非常高的字段。
小数类,即浮点数类型,根据精度的不同,有 FLOAT 和 DOUBLE 两种。它们的优势是精确度,FLOAT
可以表示绝对值非常小、小到约 1.17E-38(0.000...0117,小数点后面有 37 个零)的小数,而 DOUBLE 更是可以表示绝对值小到约
2.22E-308(0.000...0222,小数点后面有 307 个零)的小数。FLOAT 类型和 DOUBLE 类型占用存储空间分别是 4 字节和 8
字节。如果需要用到小数的字段,精度要求不高的,当然用 FLOAT 了。可是说句实在话,我们“民用”的数据,哪有要求精度那么高的呢 ?
这两种类型至今我没有用过――我还没有遇到适合于使用它们的事例。
用的最多的,最值得精打细算的,是整数类型。从只占一个字节存储空间的 ......
1006:MYSQL 创建数据库失败 &nbs ......