mysql主从数据库同步和字符集问题
1.mysql主从数据库同步问题
在使用mysql 5.0 主从数据库同步时遇到问题一些问题:
在主从数据库同步时,我们可能会选择哪些数据库要求同步,而那些数据库忽视,这两个功能是靠/etc/my.cnf文件中的两个键名 binlog_do_db 和 binlog_ignore_db 来实现的
binlog_do_db = 填写需要同步的数据库,多个数据库则用‘,’隔开
binlog_ignore_db = 填写不需同步的数据库,多个数据库用 ‘,’隔开
主数据库读取键值,可选择生成数据库日志文件。从服务器根据主服务器日志文件来更新自己的数据库
理论上这些都是可行的,然而实际实现中会遇到一些问题,问题如下:
从终端用 mysql -u -p 连接mysql数据库,主服务器执行数据库操作,在binlog_do_db范围内的数据库都会做日志记录,使用mysql提供的api函数用程序连接数据库执行sql语句缺不写入日志
几经周转测试,终于发现将binlog_ignore_db去掉,而且是连键名一起注释掉,这时候主从数据库同步方可成功,API函数进行的数据库操作可以写入日志了
这不知是官方bug,还是自己哪方面配置数据库错误。解决方案目前为止只限于此。
(钱陈)
2.mysql字符集问题
数据库链接命令行中输入
show variables like 'char%';
得到以下结果
+--------------------------+----------------------------+
| Variable_name | Value &
相关文档:
新建backup.bat
设置mysqldump全局环境变量或使用时写入绝对路径
@echo off
set date0=%date:~0,10%
set time0=%time:~0,8%
set time1=%time:~0,2%
set time2=%time:~3,2%
set time3=%time:~6,2%
echo %time0%
echo %time1%
echo %time2%
echo %time3%
mysqldump -u<用户> -p<密码> -h <ip ......
我在登录MySQL后的命令行是这个样子的:
warmbupt@pchuang:/windows/MyCode/SS$ mysql -u root -ppassw0rd
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 37
Server version: 5.1.37-1ubuntu5.1 (Ubuntu)
Type 'help;' or '\h' for help. Type '\c' to clear the curr ......
现在大概列出如下:
1.数据库的设计
尽量把数据库设计的更小的占磁盘空间.
1).尽可能使用更小的整数类型.(mediumint就比int更合适).
2).尽可能的定义字段为not null,除非这个字段需要null.
3).如果没有用到变长字段的话比如varchar,那就采用固定大小的纪录格式比如char.
4).表的主索引应该尽可能的短.这样的话每条纪录 ......
内存表使用哈希散列索引把数据保存在内存中,因此具有极快的速度,适合缓存中小型数据库,但是使用上受到一些限制,以下是蓝草使用的一些感受。
1、heap对所有用户的连接是可见的,这使得它非常适合做缓存。
2、仅适合使用的场合。heap不允许使用xxxTEXT和xxxBLOB数据类型;只允许使用=和<=>操作符来搜索记录(不 ......
MySQL语句优化的基本原则:
◆1、使用索引来更快地遍历表。
缺省情况下建立的索引是非群集索引,但有时它并不是最佳的。在非群集索引下,数据在物理上随机存放在数据页上。合理的索引设计要建立在对各种查询的分析和预测上。一般来说:
a.有大量重复值、且经常有范围查询( > ,< ,> =,< ......