Actions:
|
2011-05-06 22:41 AEST by Arthur Barrett - CVSNT has always used the MySQL 3.23 client - this is old and requires 'old_password' support plus
libmysqlclient.so.10 to be installed.
Newer customers using standard enterprise linux installations (eg: Red Hat Enterprise Linux 5 x64) do not
want to install non-standard packages like this. |
|
2011-05-06 22:42 AEST by Arthur Barrett - Contacted oracle for a mysqlicent commercial license. Apparently this is not currently available. This was
previously available (from Sun?) under the "Mecca" scheme, but is not any more. They are working on a
solution for OTN members, and we will be informed when it is available. |
|
2011-05-06 22:48 AEST by Arthur Barrett - Created an attachment (id=2064)
current advice on web site
The current published advice is that there are two licenses available:
* an OEM license for embedded databases
* an open source license for all others
While the DBMS drivers are linked to CVSNT (LGPL and GPL) as in CVS Suite 2009
we can in theory use the open source license. Once the DBMS drivers are linked
to CVSMANAGER to improve connection counts (CVS Suite 2011?) this will not be
at all possible.
The terms that specifically give us this option is the inclusion of 'LGPL' in
the "FOSS License List".
The license is 'unclear' so if exploiting the current (limited) choices, we
should 'check' that the server is 'community' - and if so then fail the
connection. |
|
2011-05-06 22:51 AEST by Arthur Barrett - I propose that:
* if a customer requests a new platform for CVS Suite 2009 and specifically no 'non-standard packages'
then we link to MySQL 5.0 and check the server type
* in CVS Suite 2010 we consider linking all servers with MySQL 5.0 and checking the server type. If not
CVS Suite 2010 then definitely 2011.
* in CVS Suite 2011 we consider linking to an OTN delivered MySQL client. If not CVS Suite 2011 then
definitely 2012.
|
|
2011-05-06 23:07 AEST by Arthur Barrett - Checking the server is 'standard' or 'enterprise' and not 'community':
1.
http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html
mysql> SHOW VARIABLES LIKE "%version%";
+-------------------------+------------------------------------------+
| Variable_name | Value |
+-------------------------+------------------------------------------+
| protocol_version | 10 |
| version | 5.0.27-standard |
| version_comment | MySQL Community Edition - Standard (GPL) |
| version_compile_machine | i686 |
| version_compile_os | pc-linux-gnu |
+-------------------------+------------------------------------------+
2.
mysql> STATUS;
--------------
./client/mysql Ver 14.12 Distrib 5.0.29, for pc-linux-gnu (i686) using readline 5.0
Connection id: 8
Current database:
Current user: mc@localhost
SSL: Not in use
Current pager: /usr/bin/less
Using outfile: ''
Using delimiter: ;
Server version: 5.0.27-standard MySQL Community Edition - Standard (GPL)
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: latin1
Db characterset: latin1
Client characterset: latin1
Conn. characterset: latin1
UNIX socket: /tmp/mysql.sock
Uptime: 1 day 3 hours 58 min 43 sec
Threads: 2 Questions: 17 Slow queries: 0 Opens: 11 Flush tables: 1 Open tables: 6 Queries per
second avg: 0.000
--------------
3.
http://dev.mysql.com/doc/refman/5.0/en/mysql-get-server-info.html
mysql_get_server_info()
const char *mysql_get_server_info(MYSQL *mysql)
Probably also need to double check the client version is 5.x or higher, eg:
mysql_get_client_version()
unsigned long mysql_get_client_version(void)
Check server version after client version and before server type?
http://dev.mysql.com/doc/refman/5.0/en/mysql-get-server-version.html
mysql_get_server_version()
unsigned long mysql_get_server_version(MYSQL *mysql)
4.
http://dev.mysql.com/doc/refman/5.0/en/mysql-stat.html
mysql_stat()
const char *mysql_stat(MYSQL *mysql)
Returns a character string containing information similar to that provided by the mysqladmin status
command. See item (2) above.
5.
http://dev.mysql.com/doc/refman/5.0/en/mysql-library-init.html
mysql_library_init()
int mysql_library_init(int argc, char **argv, char **groups)
|