AppLogic 2.3 Beta Documentation The latest production release is AppLogic 3.0.30 MYSQL5: MySQL 5.0 Database Appliance - Implementation Design
Base class
Any
AppLogic appliance image on CentOS 5 can be used as the base class for MYSQL5. The simplest one to use is LUX5 - although the class volumes need to be resized.
Class volumes
The volume configuration for MYSQL5 is determined by the base class image from which it is created. The setup chosen for the 1.0.0 release is as follows:
-
boot volume, 120MB size, mounted as "/", writeable, instantiable
-
usr volume, 180MB size, mounted as "/usr", read-only, common
The two volumes contain a basic Linux installation as the one present on the LUX5 appliance.
In summary, MYSQL5's boot volume contains:
- CentOS 5, as base OS image (as installed on the LUX5 appliance)
- MySQL database engine version 5.0.22, for data storage and query processing
- Samba client version 3.0.23, for accessing files through the log terminal
- sshd, used for logging into the component through the default interface
In addition to the class volume, MYSQL requires a user-supplied
data volume that is used to store the actual database:
-
data volume, user-defined size, mounted as "/mnt/data", writeable, placeholder
Packages
Installation:
Main
- mysql-5.0.22-2.1.0.1.i386.rpm: MySQL database utilities
- mysql-server-5.0.22-2.1.0.1.i386.rpm: MySQL database engine
Dependencies - Samba Client (used for the MySQL error log), Perl DBD and Perl DBI (required by mysql-server), Sudo
- samba-common-3.0.23c-2.el5.2.0.2.i386.rpm: samba shared libraries
- samba-client-3.0.23c-2.el5.2.0.2.i386.rpm: samba client
- perl-DBD-MySQL-3.0007-1.fc6.i386.rpm: a MySQL interface for perl
- perl-DBI-1.52-1.fc6.i386.rpm: a database access API for perl
- sudo-1.6.8p12-10.i386.rpm: allows restricted root access for specified users
MYSQL5 does not modify MySQL in any way; MYSQL5 uses the MySQL binary RPM installation without modification
Theory of Operation
The MYSQL5 appliance is based on mysql-server-5.0.22. The default storage engine used is MyISAM. The appliance also supports MEMORY, InnoDB, BerkeleyDB and MRG_MYISAM as alternatives.
Configuration
Configuration files
The configuration file for the MYSQL5 appliance is /etc/my.cnf on the boot volume. It is used for providing startup options for MySQL. The default file on the appliance looks like this:
[mysqld]
datadir=/mnt/data
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
#$$propN: 1 : use_old_passwords
old_passwords=1
[mysql.server]
user=mysql
basedir=/var/lib
[mysqld_safe]
pid-file=/var/run/mysqld/mysqld.pid
Any valid options that can be used for the start of mysql daemon/server can be added to the configuration file. For a detailed list of available options as well as sample configutrations refer to the MySQL manual at
http://dev.mysql.com/doc/refman/5.0/en/option-files.html.
Properties
| Property name | Type | Description |
auto_create | Integer | Whether to create the database if it doesn't exist. Possible values are 1 to create it and 0 to prevent auto creation (to avoid accidental overwrite in case of corrupted volumes). If set to 0 and a database doesn't exist on the user volume, the appliance starts in maintenance mode (with stopped MySQL daemon). Default is 1. |
error_log_filename | String | Fully qualified file name for the error log file, relative to the log file system (e.g., /mysql/db.log). If empty, error logging is disabled. Default: (empty). |
error_log_level | String | Error logging level. Possible values are: error logs only errors, warn logs both warnings and errors. This property is not case sensitive. Default: error |
use_old_passwords | Integer | Whether the MySQL server should use the old password hashing algorithm for user login. Possible values are: 1 to use the older password hashing algorithm so newly created users are able to connect through older pre-4.1 MySQL clients, 0 to use the newer password hashing algorithm (attempts to connect to the MYSQL server with a pre-4.1 MYSQL client will fail). Default is 1. |
For a more detailed description of the properties and sample configurations look at MYSQL5? appliance datasheet.
Log Files
By default, the mysql error logs are disabled. To enable them, the error_log_filename property must be specified. See the properties section above for configuration details and information about the error_log_level property.
Important Notes
This section is not relevant for the MYSQL5 appliance.