MySQL Connector/J 5.1.5 Has Been Released!

2007-10-09 Thread Mark Matthews
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hi,

MySQL Connector/J 5.1.5, the first production release of the 5.1 branch
has been released. Connector/J is the Type-IV pure-Java JDBC driver for
MySQL.

Version 5.1.5 is suitable for use with any MySQL version including
MySQL-4.1, MySQL-5.0, MySQL-5.1 RC or the MySQL-6.0 Falcon development
release.

It is now available in source and binary form from the Connector/J
download pages at

   http://dev.mysql.com/downloads/connector/j/5.1.html

and mirror sites (note that not all mirror sites may be up to date at
this point of time - if you can't find this version on some mirror,
please try again later or choose another download site.)

As always, we recommend that you check the change log

   http://dev.mysql.com/doc/refman/5.0/en/cj-news.html

and Upgrading sections

   http://dev.mysql.com/doc/refman/5.0/en/cj-upgrading.html

in the manual before upgrading as well as the CHANGES file in the
download archive to be aware of changes in behavior that might affect
your application.

We welcome and appreciate your feedback, bug reports, bug fixes, patches
etc.:

   http://forge.mysql.com/wiki/Contributing

This is the first production release of our implementation of the new
JDBC-4.0 API, along with some new performance features.

Notice that there was an internal 5.1.4 release which we didn't publish
because we wanted to pull in a last-minute update from the 5.0 branch
before releasing 5.1 to production.

MySQL Connector/J 5.1.5 includes the following new features compared to
5.1.3:

- - Added autoSlowLog configuration property, overrides
slowQueryThreshold* properties, driver determines slow  queries by
those that are slower than 5 * stddev of the mean query time (outside
the 96% percentile).

- - Fixed BUG#28256 - When connection is in read-only mode, queries that
are wrapped in parentheses incorrectly identified as DML.

The following features are new, compared to the 5.0 series of Connector/J:

- - JDBC-4.0 ease-of-development features including auto-registration
with the DriverManager via the service provider mechanism, standardized
Connection validity checks and categorized SQLExceptions based on
recoverability/retry-ability and class of the underlying error.

- - JDBC-4.0 standardized unwrapping to interfaces that include vendor
extensions.

- - Support for JDBC-4.0 XML processing via JAXP interfaces to DOM, SAX
and StAX.

- - JDBC-4.0 support for setting per-connection client information
(which can be viewed in the comments section of a query via SHOW
PROCESSLIST on a MySQL server, or can be extended to support custom
persistence of the information via a public interface).

- - Support for JDBC-4.0 NCHAR, NVARCHAR and NCLOB types.

- - Added experimental support for statement interceptors via the
com.mysql.jdbc.StatementInterceptor interface, examples are in
com/mysql/jdbc/interceptors.  Implement this interface to be placed in
between query execution, so that it can be influenced (currently
experimental).

- - Improved connection establishment time by 25% through selective
retrieval of server variables.

- - Improved ResultSet.getString(). It's now twice as fast, compared to 5.0.

- - The driver now picks appropriate internal row representation (whole
row in one buffer, or individual byte[]s for each column value)
depending on heuristics, including whether or not the row has BLOB or
TEXT types and the overall row-size. The threshold for row size that
will cause the driver to use a buffer rather than individual byte[]s is
configured by the configuration property largeRowSizeThreshold, which
has a default value of 2KB. This change leads to substantial
improvements in memory usage by avoiding copying data or allocating
large blocks of memory when using streaming result sets or when
dealing with large rows.

- - Added experimental support for connection lifecycle interceptors,
which enable notifcation of lifecycle events such as connection
creation, destruction and transaction demarcation and allow code to be
plugged in to influence the behavior of these events, see the source
code of related interfaces at http://tinyurl.com/24g28y and
http://tinyurl.com/29l4xt for more details.

- - The driver will automatically adjust the server session variable
net_write_timeout when it determines its been asked for a streaming
result, and resets it to the previous value when the result set has been
consumed. (The configuration property is named
netTimeoutForStreamingResults, with a unit of seconds, the value '0'
means the driver will not try and adjust this value).

- - The data (and how it's stored) for ResultSet rows are now behind an
interface which allows us (in some cases) to allocate less memory per
row, in that for streaming result sets, we re-use the packet used to
read rows, since only one row at a time is ever active.

- - Setting rewriteBatchedStatements to true now causes
CallableStatements with batched arguments to be re-written in the form
CALL (...); 

how to restore mysql database after Crash

2007-10-09 Thread David Winslow
Hey,

 

Environment:

Windows 2003 server

Mysql 5.0 server

 

Problem:

Our server crashed and the c drive was formatted. Unfortunately we did not
have a backup of the mysql databases which we were using. We can hopefully
retrieve the file structure through a file system recovery utility. 

What would the steps in order to restore the databases again ?

 



MySQL Connector/J 5.0.8 Has Been Released

2007-10-09 Thread Mark Matthews
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hi,

MySQL Connector/J 5.0.8 a new version of the Type-IV all-Java JDBC
driver for MySQL has been released.

This is a bug fix release for the current production branch of
Connector/J.

We're releasing version 5.1.5 as a GA today as well, so this is the last
planned release of the 5.0 branch unless security or data corruption
bugs are reported against 5.0.

Version 5.0.8 is suitable for use with any MySQL version including
MySQL-4.1, MySQL-5.0, MySQL-5.1 RC or the MySQL-6.0 Falcon development
releases.

It is now available in source and binary form from the Connector/J
download pages at

   http://dev.mysql.com/downloads/connector/j/5.0.html

and mirror sites (note that not all mirror sites may be up to date at
this point of time - if you can't find this version on some mirror,
please try again later or choose another download site.)

As always, we recommend that you check the change log

   http://dev.mysql.com/doc/refman/5.0/en/cj-news.html

and Upgrading sections

   http://dev.mysql.com/doc/refman/5.0/en/cj-upgrading.html

in the manual before upgrading to be aware of changes in behavior that
might affect your application.

We welcome and appreciate your feedback, bug reports, bug fixes, patches
etc.:

   http://forge.mysql.com/wiki/Contributing

- --
Functionality added or changed
- --

- - Added two configuration parameters (both default to false)

  * blobsAreStrings  - Should the driver always treat BLOBs as Strings
specifically to work around dubious
metadata returned  by the server for
GROUP BY clauses?

  * functionsNeverReturnBlobs - Should the driver always treat data from
functions returning BLOBs as
Strings - specifically to work around dubious metadata returned by the
server for GROUP BY clauses?

- - Specifying a validation query in your connection pool that starts
with /* ping */ _exactly_ will cause the driver to instead send a ping
to the server and return a fake result set (much lighter weight), and
when using a ReplicationConnection or a LoadBalancedConnection,
will send the ping across all active connections.

- - XAConnections now start in auto-commit mode (as per JDBC-4.0
specification clarification).

- - Driver will now fall back to sane defaults for max_allowed_packet and
net_buffer_length if the server reports them incorrectly (and will log
this situation at WARN level, since it's actually an error condition).

- --
Bugs Fixed
- --

- - Fixed BUG#27182 - Connection.getServerCharacterEncoding() doesn't work
 for servers with version = 4.1.

- - Fixed Bug#27412 - cached metadata with PreparedStatement.execute()
  throws NullPointerException.

- - Fixed BUG#27867 - Schema objects with identifiers other than the
connection character aren't retrieved correctly in  ResultSetMetadata.

- - Fixed BUG#27915 - DatabaseMetaData.getColumns() doesn't contain
SCOPE_* or IS_AUTOINCREMENT columns.

- - Fixed BUG#27916 - UNSIGNED types not reported via DBMD.getTypeInfo(),
and capitalization of type names is not consistent between
DBMD.getColumns(), RSMD.getColumnTypeName() and DBMD.getTypeInfo().

This fix also ensures that the precision of UNSIGNED MEDIUMINT and
UNSIGNED BIGINT is reported correctly via DBMD.getColumns().

- - Fixed BUG#28689 - CallableStatement.executeBatch() doesn't work when
   connection property noAccessToProcedureBodies has been set to true.

The fix involves changing the behavior of noAccessToProcedureBodies,in
 that the driver will now report all paramters as IN paramters but
allow callers to call registerOutParameter() on them without throwing
   an exception.

- - Fixed BUG#28972 - DatabaseMetaData.getTypeInfo() for the types DECIMAL
 and NUMERIC will return a precision of 254 for server versions
older than 5.0.3, 64 for versions 5.0.3-5.0.5 and 65 for versions newer
than 5.0.5.

- - Fixed BUG#29106 - Connection checker for JBoss didn't use same method
parameters via reflection, causing connections to always seem bad.

- - Fixed BUG#29852 - Closing a load-balanced connection would cause a
  ClassCastException.

- - Fixed BUG#30550, executeBatch() would fail with an ArithmeticException
 and/or NullPointerException when the batch had zero members and
 rewriteBatchedStatements was set to true for the connection.

- - Fixed BUG#30664 - Note that this fix only works for MySQL server
 versions 5.0.25 and newer, since earlier versions didn't consistently
 return correct metadata for functions, and thus results from
subqueries and functions were indistinguishable from each other,
leading to type-related bugs.

- - Fixed BUG#30851, NPE with null column values when padCharsWithSpace
is set to true.

 - Fixed Bug#30892 setObject(int, Object, int, int) delegate in
PreparedStatmentWrapper delegates to wrong method.

- - 

Unbiased opinion needed on access control procedure

2007-10-09 Thread Matt Juszczak

Hi all,

I'm looking to get an unbiased opinion of two possible methods for 
controlling access to database servers.


Here are the specs:

* 6 database servers, all firewalled off to the outside world, but 
accessible to each other on port 3306 unrestricted

* 10 web servers total, but only half of those need to connect.


Which option?

A)
GRANT replication slave ON *.* TO [EMAIL PROTECTED];
GRANT replication slave ON *.* TO [EMAIL PROTECTED];
GRANT replication slave ON *.* TO [EMAIL PROTECTED];
GRANT SELECT ON database.* TO [EMAIL PROTECTED];
GRANT SELECT ON database.* TO [EMAIL PROTECTED];

B)
GRANT REPLICATION SLAVE ON *.* TO ruser;
GRANT SELECT on database.* TO otheruser;



A:

Pro: Granular control per host, although the permissions are always 
identical, we still block the webservers that don't need access.


Con: Hard to manage, 40 webservers = 40 users with the same permissions, 
10 slaves = 10 users with the same permissions



B:

Pro: Simple to manage.  One user allows access from anywhere on the 
internal network (since the servers are firewalled off to the outside)


Con: Any server on the internal network can connect as that specific user 
to the database.  Could cause problems with old code, etc. if passwords 
aren't changed.




Which option do you use in your setup?  Which do you see more fit?

Thanks,

Matt

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]



secure host and user name for non static ip address

2007-10-09 Thread Stephen Sunderlin
QUESTION:  What are the most secure permissions settings for administrator
access to connect to my server without using a static IP address?

 

MY ISP changes my DSL ip address almost daily so when I log on to MySQL
Administrator with 'myusername'@'currentipaddress' using password
'mypassword'

I have grant permission to the new ip address.

 

I also have and account: 'username'@'%'  with no password with SELECT,
INSERT, UPDATE and  DELETE privileges only for general users for this
membership site.  Are there any security issues with this?  Any input or
direction for informed reading on the issue would be appreciated.

 

Thanks.



Re: secure host and user name for non static ip address

2007-10-09 Thread Gary Josack
Sign up for dyndns.com or some other similiar service. Create 
permissions to the domain and run a script that updates you IP with 
dyndns whenever it changes. (such scripts already exist).


As far as 'username'@'%' with no password with SELECT, INSERT, UPDATE 
and DELETE privileges... worst idea ever in my opinion. Anyone that 
knows your server/username can get in query and delete records.


Stephen Sunderlin wrote:

QUESTION:  What are the most secure permissions settings for administrator
access to connect to my server without using a static IP address?

 


MY ISP changes my DSL ip address almost daily so when I log on to MySQL
Administrator with 'myusername'@'currentipaddress' using password
'mypassword'

I have grant permission to the new ip address.

 


I also have and account: 'username'@'%'  with no password with SELECT,
INSERT, UPDATE and  DELETE privileges only for general users for this
membership site.  Are there any security issues with this?  Any input or
direction for informed reading on the issue would be appreciated.

 


Thanks.


  



--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]



Client does not support authentication protocol requested by server

2007-10-09 Thread John Berman
Hi

We have php 4.3.4 and mysql 5

My test script produces this

Client does not support authentication protocol requested by server

http://www.jewishgen.org/cemetery/connect-test.php



Research suggests that I can upgrade php or 

SET PASSWORD FOR [EMAIL PROTECTED] = OLD_PASSWORD ('')

So I did this but it makes no difference, pointers appreciated

Regards

John B

No virus found in this outgoing message.
Checked by AVG Free Edition. 
Version: 7.5.488 / Virus Database: 269.14.5/1058 - Release Date: 08/10/2007
16:54
 



-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]



Re: how to restore mysql database after Crash

2007-10-09 Thread B. Keith Murphy
Recover your files first and then you can see where you can go.  I 
suppose you now have backup plans in place now?


Keith

David Winslow wrote:

Hey,

 


Environment:

Windows 2003 server

Mysql 5.0 server

 


Problem:

Our server crashed and the c drive was formatted. Unfortunately we did not
have a backup of the mysql databases which we were using. We can hopefully
retrieve the file structure through a file system recovery utility. 


What would the steps in order to restore the databases again ?

 



  



--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]