Blog信息 |
blog名称: 日志总数:1304 评论数量:2242 留言数量:5 访问次数:7566961 建立时间:2006年5月29日 |

| |
[MySQL]MySQL 4.0 升级到5.0 软件技术
lhwork 发表于 2006/12/26 9:15:13 |
由于需要,从4.0直接升级到5.0,查看了一下changelog,发现主要有以下变化:
一、从 4.0 到 4.1 的主要变化
如果在4.1.0到4.1.3版本的MySQL中创建了包含 TIMESTAMP 字段的 InnoDB
表。则在升级到4.1.4及更高时需要重建表,因为存储格式发生变化了字符串根据标准SQL来比较:比较之前不删除末尾的空格,以前用末尾空格扩展了比较短的字符串。现在的结果是
'a' > 'a\t',以前则不这样。可以用 mysqlcheck 来检查一下数据表TIMESTAMP 返回 'YYYY-MM-DD HH:MM:SS' 格式的字符串。在MySQL
4.0中,可以增加选项 --new 来获得MySQL 4.1中这方面的特性在MySQL
4.1.1前,语句解析器不是那么严格,它在处理字符串转时间转换时会忽略第一个数字前的其他字符。在4.1.1之后,就比较严格了返回结果是 DATE, |
|
[MySQL]MySQL优化 之 Discuz论坛优化 软件技术
lhwork 发表于 2006/12/26 9:14:03 |
作/译者:叶金荣(Email:),来源:http://imysql.cn,转载请注明作/译者和出处,并且不能用于商业用途,违者必究。
一. 前言 近日由于需要,对discuz论坛(简称dz)进行优化,当然了,只是涉及到数据库的优化. 先说一下服务器及dz的数据量,2 * Intel(R) Xeon(TM) CPU 2.40GHz, 4GB mem, SCISC硬盘. MySQL 版本为 4.0.23. 数据表情况: cdb_attachments 2万 cdb_members 10万 cdb_posts 68万 cdb_threads 7万
二. 缓存优化 在 my.cnf 中添加/修改以下选项: |
|
[MySQL]left join 造成 COUNT 會有 M*N 的 效應 的解決方式!! 软件技术
lhwork 发表于 2006/12/26 9:03:29 |
這個是 小弟在 tim club 討論時 碰到一個 蠻有趣的問題 雖然小弟在那裡回答了
但希望更多人知道 這個解決問題的技巧 不要什麼都用 sub query 會寫出大怪物的... 嘿嘿..ccc
Q1 : FORM JOKY 這是個蠻蠢的問題..我用MySQL 3.23.58 rpm版本 分別有三個table , schema 如下︰
create table member ( member_id int not null auto_increment, name varchar(255), primary key (member_id)); -- data dump insert into member |
|
[MySQL]轉貼-mysql資料庫的索引設計 软件技术
lhwork 发表于 2006/12/26 9:02:16 |
就像釵h的PHP開發者一樣,在剛開始建立動態網站的時候,我都是使用相對簡單的數據結構。PHP在連接數據庫方面的確實是十分方便(譯者註:有些人認為
PHP在連接不同數據庫時沒有一個統一的接口,不太方便,其實這可以通過一些擴展庫來做到這一點),你無需看大量的設計文檔就可以建立和使用數據庫,這也
是PHP獲得成左漸D要原因之一。
前些時候,一位頗高級的程序員居然問我什麼叫做索引,令我感到十分的驚奇,我想這絕不會是滄海一粟,因為有成千上萬的開發者(可能大部分是使用
MySQL的)都沒有受過有關數據庫的正規培訓,儘管他們都為客戶做過一些開發,但卻對如何為數據庫建立適當的索引所知較少,因此我起了寫一篇相關文章的
念頭。
最普通的情況,是為出現在where子句的字段建一個索引。為方便講述,我們先建立一個如下的表。
CREATE TABLE mytable (
id serial primary key,
category_id int not null def |
|
[MySQL]MySQL索引分析和優化+JOIN的分類 软件技术
lhwork 发表于 2006/12/26 9:01:16 |
join :
左右合併
inner join : 只顥示符合修件的資料列 (左右互相比對)
left join : 顥示符合條件的右資料列及左邊不符合條件的資料列 (此時右邊的資料會以 NULL 顯示)
right join : 顥示符合條件的左資料列及左邊不符合條件的資料列 (此時左邊的資料會以 NULL 顯示)
full join : 顥示符合條件的料列及左邊+右邊不符合條件的資料列 (此時缺乏資料的資料列會以 NULL 顯示)
cross join : 直接將一個資料表的每一筆資料列和另一個料表的每一筆資料列搭配成新的資料列
seif-joins : 自己join 自己
更多 :
union : 合併多個查尋結果 (上下垂直合併)
subquery : 子查尋
index :
索引可以加快查尋速度,以平衡樹結構存放索引資料 .
例如:
當我們要找編碼N的記錄時,可從 |
|
[MySQL]Mysql两台主服务器一台从服务器做同步搭建通过测试!!!!! 软件技术
lhwork 发表于 2006/12/25 18:12:59 |
操作系统:Linux 2.6.13 (Slackware),其它版的Linux应该也差不多.
数据库:Mysql 4.1.8 源程序安装
假设服务器名:test-db1 (IP为192.168.0.1),主
假设服务器名:test-db2 (IP为192.168.0.2),主
假设服务器名:test-db3 (IP为192.168.0.3),从
二,test-db1主服务器mysql安装准备
用mysql源程序安装,假设在安装时用的configura选择项下如,解压后:
./configure
make
make imstall
chown mysql.mysql /usr/local/mysql/var
cp ../support-files/ my-medium.cnf /etc/my.cnf
cp ../support-files/mysql.server /etc/rc.d/rc.mysql |
|
[MySQL]RedHat AS4-U2下Mysql 5.0的集群配置 软件技术
lhwork 发表于 2006/12/25 15:37:08 |
最近看到过很多关于cluster的资料,一直在研究linux系统级的负载均衡和高可用,但是还没有完全成功,只是实现了一些简单的服务;今天在搜
集资料中看到有关mysql的cluster,看上去不是很复杂,就花了一个下午的时间研究研究,参考了Nanu前辈的MySQL集群配置步骤,一个简单
的集群算是成功了。但是有一点我没搞懂,是不是mysql集群配置完成后,只能同步数据库中的表,而不能同步整个库?请高手指点一二,谢谢!
李增基 联系方式 QQ:156440574 MSN:lzj0619@hotmail.com Email:zengji.li@gmail.com 希望在linux cluster方面和大家交流!
一、实验环境
1、Linux操作系统版本. RedHat AS4-U2
2、M |
|
[MySQL]mysql集群技术 软件技术
lhwork 发表于 2006/12/25 15:29:43 |
1 环境描述 Mysql manager 节点:192.168.0.1
MysqlServer节点:192.168.0.100
Mysql 节点:192.168.0.160
Mysql 节点:192.168.0.161
说明:至少需要四台服务器才可以做mysql的集群。建议5台,再增加一台MysqlServer。
2 安装mysql二进制包 2.1 安装之前的准备工作 下载mysql-max-4.1.13-pc-linux-gnu-i686.tar.gz包
(注意:可以做集群的mysql都是mysql-max的,下载地点www.mysql.org)
#groupadd mysql
#useradd -g mysql mys |
|
[MySQL]如何重置MySQL数据库的root用户密码 软件技术
lhwork 发表于 2006/12/25 10:10:05 |
当忘记MySQL的root密码的时候,可以进行如下的步骤重新设置MySQL的root密码:
■■Linux的平台■■
1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。
因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的
状态下,其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对
外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全
状态。最安全的状态是到服务器的Console上面操作,并且拔掉网线。
2.修改MySQL的登录设置:
# vi /etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables
例如:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mys |
|
[MySQL]MySQL集群配置 软件技术
lhwork 发表于 2006/12/25 10:06:42 |
一、介绍
========
这篇文档旨在介绍如何安装配置基于2台服务器的MySQL集群。并且实现任意一台服务器出现问题或宕机时MySQL依然能够继续运行。
注意!
虽然这是基于2台服务器的MySQL集群,但也必须有额外的第三台服务器作为管理节点,但这台服务器可以在集群启动完成后关闭。同时需要注意的是
并不推荐在集群启动完成后关闭作为管理节点的服务器。尽管理论上可以建立基于只有2台服务器的MySQL集群,但是这样的架构,一旦一台服务器宕机之后集
群就无法继续正常工作了,这样也就失去了集群的意义了。出于这个原因,就需要有第三台服务器作为管理节点运行。
另外,可能很多朋友都没有3台服务器的实际环境,可以考虑在VMWare或其他虚拟机中进行实验。
下面假设这3台服务的情况:
Server1: mysql1.vmtest.net 192.168.0.1
Server2: mysql2.vmte |
|
|