cerulean

MySQL Cluster 不支持windows
之前的说法是max版支持集群,standard版不支持,但是官方下载点里已经看不出任何关于max,standard的标志。官方网站上又说5.0版本已经包含了MySQL Cluster,所以还是下了个5.0的试试,结果是可以的。

基本的安装:
linux下官方网站的安装说明还是挺明确的,一步一步做就是了。
遇到了一个问题与这篇文章一模一样:http://www.91linux.com/html/linux_pub/fedora/20071114/8195.html
按它的方法修改之后再次

cd /usr/local/mysql
bin
/mysqld_safe --user=mysql &


Starting mysqld daemon with databases from /var/lib/mysql
看到上面这一行说明启动成功。

修改密码:

bin/mysqladmin -u root password yourpassword


允许远程访问:

bin/mysql -u root -p
grant all on 
*.* to root@"202.11.10.253" Identified by "dboomysql"

允许地址202.11.10.253上用root用户,密码dboomysql来连接mysql的所有数据库,付给所有权限。
实质上是修改了自带的database:mysql中user这一张表,与PostgreSQL需要修改配置文件相比还是方便一些。
另外就是MySQL的GUI客户端(MySQL Administrator)也比PostgreSQL的漂亮很多。

停止MySQL:
bin/mysqladmin -u root shutdown -p

安装完成后,按照这篇文章配置双机互备
http://hi.baidu.com/%CA%AB%D5%B9/blog/item/3b99dbc48140f7ca38db49f7.html
但是这篇文章有笔误:

四、初始化集群
在Server1中
# ndbd --nodeid=3 --initial
在Server2中
# ndbd --nodeid=4 --iniitial

应该改为——
四、初始化集群
在Server1中
# ndbd --ndb_nodeid=3 --initial
在Server2中
# ndbd --ndb_nodeid=4 --initial

这样的集群配置两台机器都是一样的,所以有2个管理节点,2个SQL节点,2个数据节点。集群的验证:从任何一台机器登上去操作数据都能双写。

ndb_mgm -e show

可以看到集群节点的信息。
从官方网站上看到的例子都是用了多于3台的机器来做的集群,仅用两台来做的方法好像是大家特意这么做的。

尽管集群配置完毕,但是应用程序与数据库建立连接不能使用其中任何一台机器的真实IP,否则一旦该机器网络连接出问题还是不行,所以还是要给DB集群的机器配置虚拟IP以供外部访问。


遇到过的问题:
无法mysqld_safe启动,也找不到日志
解决方法:加启动参数以指定日志

mysqld_safe --log-error=/var/log/mysqld.log

可以查看到错误日志了。

[ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
没辙,google呗,好像是系统数据库mysql里host表的权限有问题什么的,而mysql这个库是之前安装时初始化过的。

解决方法:删除data,重新install_db

rm -rf /usr/local/mysql/data
cd 
/usr/local/mysql
scripts
/mysql_install_db --user=mysql
chown 
-R root .
chown 
-R mysql data
chgrp 
-R mysql .

 

bin/mysqld_safe --log-error=/var/log/mysqld.log --ndb_nodeid=5 --user=mysql &

启动成功了。

btw, mysql官方网的forum好像不能“平板显示”,好不方便。


关闭Cluster,在管理节点所在的机器上:
/usr/local/mysql/ndb_mgm -e shutdown
关闭SQL节点的mysqld服务:
/usr/local/mysql/bin/mysqladmin -uroot shutdown

posted @ 2007-12-17 21:38 cerulean 阅读(590) | 评论 (0)编辑 收藏
java默认的JVM内存占用:初始1MB,最大64MB
可以通过java -Xms256m -Xmx256m ClassName来调整。
xms和xmx的值最好相同,否则调整的效率可能不高。
如果程序运行中,发生内存溢出,那么不会以Exception的形式抛出,而是"Error"
如果没有catch(Error error),那么控制台将显示错误:Exception in thread "main" java.lang.OutOfMemoryError: Java heap space,而且后面的程序也不会执行。
posted @ 2007-12-17 21:26 cerulean 阅读(1101) | 评论 (0)编辑 收藏
虽然RMI已经不大推荐使用了,但是方法还是要记住的。
在产生.class文件的根目录,例如/bin
cd /bin
rmic com.test.RMIImpl

将在/bin/com/test目录下产生RMIImpl_Stub.class文件
cd /bin
jar cvf test.jar com
/test/RMIIntf.class com/test/RMIImpl_Stub.class

将在/bin目录下产生test.jar文件,供RMI客户端调用
posted @ 2007-12-17 21:12 cerulean 阅读(862) | 评论 (0)编辑 收藏

遇到经典的getParameter中文乱码的问题,网上已经有很多总结和讨论了。
在jsp里调用了*.do?param=name,当name本身的值为中文时,在action里获取时有乱码问题。

调用.do的jsp页面头已经设置过

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>


即便在action里设置了

request.setCharacterEncoding 

也没有效果。

最后的解决方法:

String str = request.getParameter("param");

改为

String str = new String(request.getParameter("param").getBytes("ISO-8859-1"),"GB2312");
posted @ 2007-12-17 21:09 cerulean 阅读(3695) | 评论 (0)编辑 收藏

struts的<html:form>标签中没有"name"属性,但是使用"styleId"属性可以替代。
需要注意的问题是,假如定义了:

<html:form styleId="test" action="testIt.do">

同时还定义了一个一样名为test的javascript function:
function test(){
   alert('hello');
}

则,在试图调用此function时会出现错误:
<onclick="test()">click me</a>
posted @ 2007-12-05 10:53 cerulean 阅读(3295) | 评论 (1)编辑 收藏
windows下.exe安装版中,TOMCAT_HOME/conf下,是没有logging.properties这个文件的(在解压版中有)。安装版的logging.properties文件位于TOMCAT_HOME/common/classes下。
posted @ 2007-09-03 17:01 cerulean 阅读(1113) | 评论 (0)编辑 收藏
Windows->Preferences->General->Compare/Patch->Ignore white space
posted @ 2007-08-28 16:45 cerulean 阅读(829) | 评论 (0)编辑 收藏
Team->Branch/Tag时,必须输入注释,否则即便看起来好像执行了操作,但是却没有真正创建分支在SVN server上。
posted @ 2007-08-28 15:35 cerulean 阅读(1060) | 评论 (0)编辑 收藏
其实还是挺糊涂的,org.apache.struts.action.ActionForm的Reset()方法,不过知道可以在该方法中set该Form的一些属性值,就能够在页面上显示为该对应控件的默认值,比较方便。

public void reset(ActionMapping mapping, HttpServletRequest request) {
   
//set default value for the first display
   this.setType("0");
}
posted @ 2007-08-23 14:55 cerulean 阅读(1235) | 评论 (0)编辑 收藏
在eclipse中已经集成了ant,如果创建名为build.xml的文件,就会被识别为ant的文件。ShowView->Outline会有一些提示。
在eclipse中,右键build.xml,
选择:Run As Ant Build,会执行默认的任务
选择:Run As Ant Build...,在弹出框中,可以选择执行哪些任务.

当直接使用ant命令时,可以用-D来输入参数,
例如ant -buildfile package.xml -Dversion=1_0,指定了version的值。
posted @ 2007-08-14 15:18 cerulean 阅读(404) | 评论 (0)编辑 收藏
仅列出标题
共6页: 上一页 1 2 3 4 5 6 下一页 

导航

<2024年5月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

统计

常用链接

留言簿(3)

随笔分类

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜