====== AIX RPMs: MySQL, percona-ganglia-mysql and phpMyAdmin ====== Following up to the previous posts, regarding the topic of [[http://www.bityard.org/blog/?btng%5Bpost%5D%5Btags%5D=RPM|AIX RPM packages]], here are three new AIX RPM packages related to the MySQL database: * **MySQL**: A fast, stable, multi-user, multi-threaded, open source SQL database system. Unfortunately at the moment only MySQL versions 5.1.x or lower can be successfully build on AIX. More recent versions of MySQL were developed with a strong focus on Linux rather than a focus on protability, which is why their build fails on AIX. During the first startup of the MySQL server via the ''/etc/rc.d/init.d/mysql'' init script, several initial configuration tasks are performed. The command ''/opt/freeware/bin/mysql_install_db'' is called to initialize the MySQL data directory ''/srv/mysql/'' with system databases and tables. Also, the MySQL user ''procadm'' is added. This user is used for maintainance, startup and shutdown tasks, mainly triggered by the init script ''/etc/rc.d/init.d/mysql''. In addition to the stock MySQL files, the simple custom backup script ''/opt/freeware/libexec/mysql/mysql_backup.sh'' is provided. After defining a database user with the appropriate permissions to backup all databases, the user and its password should be added to the configuration file ''/opt/freeware/etc/mysql/mysql_backup.conf'' of the backup script. With the run_parts wrapper scripts: /opt/freeware/etc/run_parts/daily.d/050_mysql.sh /opt/freeware/etc/run_parts/monthly.d/050_mysql.sh /opt/freeware/etc/run_parts/weekly.d/050_mysql.sh simple daily, weekly and monthly full database backups are done to the filesystem (''/srv/backup/mysql/''). From there they can be picked up by a regular filesystem backup with e.g. the TSM BA client. [[/pub/rpms/mysql/|RPM packages]] {{filelist>/srv/www/vhosts/bityard.de/pub/rpms/mysql/mysql*&style=table&tableheader=1&tableshowdate=1&tableshowsize=1}} [[/pub/srpms/mysql/|Source RPM packages]] {{filelist>/srv/www/vhosts/bityard.de/pub/srpms/mysql/mysql*&style=table&tableheader=1&tableshowdate=1&tableshowsize=1}} < * **percona-ganglia-mysql**: A Ganglia addon provided by [[http://www.percona.com/|Percona]], designed to retrieve performance metrics from a MySQL database system and insert them into a Ganglia monitoring system. The package ''percona-ganglia-mysql-scripts'' is to be installed on the host running the MySQL database. It depends on the ''ganglia-addons-base'' package, specifically on the cronjob (''/opt/freeware/etc/run_parts/conf.d/ganglia-addons.sh'') defined by this package. In the context of this cronjob all avaliable scripts in the directory ''/opt/freeware/libexec/ganglia-addons/'' are executed. For this specific Ganglia addon, a MySQL user with the necessary permissions to access the MySQL performance metrics and the MySQL users password need to be configured: ENABLED="yes" #SS_GET_MYSQL_STATS="/opt/freeware/libexec/percona-ganglia-mysql/ss_get_mysql_stats.php" MY_USER="root" MY_PASS="insert your password here" #MY_HOST="127.0.0.1" #MY_PORT="3306" The package ''percona-ganglia-mysql'' is to be installed on the host running the Ganglia webinterface. It contains templates for the customization of the MySQL metrics within the Ganglia Web 2 interface. To use the templates, install the RPM and copy the Ganglia Web 2 (gweb2) templates from ''/opt/freeware/share/percona-ganglia-mysql/graph.d/*.json'' to the Ganglia Web 2 graph directory. Usually this is ''/ganglia/graph.d/'' in the DocumentRoot of the webserver, but may be different in the individual Ganglia Web 2 installation, depending on the setting of the: $conf['gweb_root'] $conf['graphdir'] configuration parameters. To include the MySQL templates in all host definitions, copy the report view definition ''/opt/freeware/share/percona-ganglia-mysql/conf/default.json'' to the Ganglia Web 2 configuration directory. Usually this is ''/ganglia/conf/'' in the DocumentRoot of the webserver, but may be different in the individual Ganglia Web 2 installation, depending on the setting of the: $conf['views_dir'] configuration parameter. To include the MySQL templates only in individual host view configurations for specific hosts, copy the report view definition ''/opt/freeware/share/percona-ganglia-mysql/conf/default.json'' to the Ganglia Web 2 configuration directory with the file name ''host_.json''. [[/pub/rpms/ganglia-addons/|RPM packages]] {{filelist>/srv/www/vhosts/bityard.de/pub/rpms/ganglia-addons/percona-ganglia-mysql*&style=table&tableheader=1&tableshowdate=1&tableshowsize=1}} [[/pub/srpms/ganglia-addons/|Source RPM packages]] {{filelist>/srv/www/vhosts/bityard.de/pub/srpms/ganglia-addons/percona-ganglia-mysql*&style=table&tableheader=1&tableshowdate=1&tableshowsize=1}} < * **phpMyAdmin**: A web based administration tool for MySQL, MariaDB and Drizzle database systems. After the installation of the RPM package, phpMyAdmin can be used by directing a browser to ''http:///phpmyadmin/''. To enable more advanced phpMyAdmin functions, several additional configuration steps are necessary: - Import the phpMyAdmin database schema: $ mysql -u root -p < /opt/freeware/doc/phpmyadmin-/examples/create_tables.sql < - Create a database user for phpMyAdmin and grant the necessary MySQL permissions: $ mysql -u root -p mysql> GRANT USAGE ON mysql.* TO 'pma'@'localhost' IDENTIFIED BY 'password'; mysql> GRANT SELECT ( Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv, Execute_priv, Repl_slave_priv, Repl_client_priv ) ON mysql.user TO 'pma'@'localhost'; mysql> GRANT SELECT ON mysql.db TO 'pma'@'localhost'; mysql> GRANT SELECT ON mysql.host TO 'pma'@'localhost'; mysql> GRANT SELECT (Host, Db, User, Table_name, Table_priv, Column_priv) ON mysql.tables_priv TO 'pma'@'localhost'; mysql> GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* TO 'pma'@'localhost'; < - Configure phpMyAdmin to use the MySQL user and password: < - Logout and login from phpMyAdmin or restart your browser. < [[/pub/rpms/phpmyadmin/|RPM packages]] {{filelist>/srv/www/vhosts/bityard.de/pub/rpms/phpmyadmin/phpmyadmin*&style=table&tableheader=1&tableshowdate=1&tableshowsize=1}} [[/pub/srpms/phpmyadmin/|Source RPM packages]] {{filelist>/srv/www/vhosts/bityard.de/pub/srpms/phpmyadmin/phpmyadmin*&style=table&tableheader=1&tableshowdate=1&tableshowsize=1}} <