Friday, 10 September 2010

如何判断MySQL引擎是否支持Transaction?

简单测试方法:
BEGIN;
UPDATE table1 SET col1='new value' WHERE row_id='row1';
SELECT * FROM table1; -- 行row1列col1的值已经改为'new value'
ROLLBACK;
SELECT * FROM table1; -- 行row1列col1的值应该改为原来的值

MyISAM不支持,InnoDB支持。使用如下命令查看table1使用的引擎类型:
mysql> show create table table1;

Thursday, 9 September 2010

如何升级MySQL(4.0.15至5.1.50)?

将MySQL4.0.15数据库下载至文件:
mysqldump -p foo > foo1.sql;

删除开头的长注释行:
sed -e '/^----------[\-]*$/d' foo1.sql > foo2.sql

用下述命令将数据库转换为使用INNODB引擎:
echo 'SET AUTOCOMMIT = 0;' > foo.sql
sed -e 's/TYPE=MyISAM/TYPE=INNODB/g' foo2.sql >> foo.sql
echo 'COMMIT;' >> foo.sql
(或者,使用ALTER TABLE t ENGINE = MYISAM;逐个表转换。)

为了保证任何新生成的数据库使用INNODB引擎,在/etc/my.cnf中添加下述参数:
[mysqld]
default-storage-engine=INNODB
为了使旧版本的ODBC能够与新版本的数据库通讯,在 /etc/my.cnf 中添加如下参数:
[mysqld]
old-passwords
此外,还需将有关用户的口令设为旧的格式:
mysql> update user set password=OLD_PASSWORD('pass1') where user='user1';

在MySQL5.1.50生成用户boo并确认数据库foo不存在;
将文件foo.sql上载到MySQL5.1.50:mysql -u boo -p < foo.sql

Wednesday, 8 September 2010

如何安装VirtualBox虚拟机?

安装VirtualBox之前,别忘了启用BIOS中的VT-x/AMD-v开关。

生成虚拟机时,不用担心缺省的硬盘尺寸太大,与VMware Server不同VirtualBox是根据实际需要确定硬盘文件大小。所设定的尺寸只是上限。上限设置过小,容量不够会很难改。

如何安装MySQL ODBC 5.1.7驱动程序?

下载并安装
mysql-connector-odbc-5.1.7-win32.msi
下载并安装补丁
ftp.mysql.com/pub/mysql/download/myodbc5S5_1_7with56233patchR926win32.zip

Monday, 6 September 2010

如何使用NetBeans中的UML功能?

下载6.7.1版本后,通过软件更新安装。

如何在RHEL5上安装VirtualBox?

安装RHEL5时必须注意勾选'Software Development'平台类型,否则安装VirtualBox时,SDL库会找不到。

此外,如果是64位机,务必下载AMD64版本的包,并使用rpm安装,例如:
rpm -i VirtualBox-4.1-4.1.0_73009_rhel5-1.x86_64.rpm

最后,vi /etc/group 将用户加入vboxusers组。

Saturday, 4 September 2010

如何让MySQL服务器允许远程连接?

首先,更新mysql.user表,使得root用户登录必须使用口令;其次,删除无名本地用户;最后,添加普通用户并且将其host设为%。
此外,防火墙必须允许端口3306自内向外的新连接。