Some new clues about the problem:
In the mysql-ds.xml, i changed the connection-url to "jdbc:mysql://10.10.10.100:3306". Here, 10.10.10.100 is the ip address of the computer that hosts MySql database.
1. If i deploy JBoss on the same linux box as MySql, the exception i posted previously will be thrown. But if i change the connection-url to "jdbc:mysql://localhost:3306", no exception.
2. If i deploy JBoss on another linux box (also Redhat9.0), it succeeds.
Therefore, i guess the problem is related to local VS. remote, instead of Linux VS. WinXP that i said in the first post. I looked into the settings of MySQL, but cannot find any clue where the problem is. Anyone can help?