You are here

MySQL Environment MyEnv 1.0 has been released

FromDual has the pleasure to announce the release of the new version 1.0 of its popular multi-instance MySQL Environment MyEnv.

Thanks to the countless feedback of many big customers and the community we finally feel ready to publish version 1.0. A major step forward from the last version 0.4 (dated March 2011) and not published version 0.5 (dated August 2013).

What is MyEnv?

MyEnv is a CLI environment for operating multiple MySQL instances on the same server. If you are using mysqld_multi or/and if you have set-up multiple mysqld instances on the same machine you should really have a look at MyEnv.

If you consider to consolidate your MySQL databases on one machine but if you do not want to pack everything in one instance you are a candidate for MyEnv as well...

You can download MyEnv from here.

In the inconceivable case that you find a bug in MyEnv please report it in our Bugtracker.

Any feedback, statements and testimonials are welcome as well! Please send them to feedback@fromdual.com.

Upgrade from 0.x to 1.0

Package php-posix needs to be installed.

If the following manual steps are too complicated just run the installer installMyEnv.sh and copy your old myenv.conf to /etc/myenv.

# cd /home/mysql/product
# tar xf /tmp/myenv-1.0.tar.gz
# sudo mkdir /etc/myenv
# sudo chown mysql: /etc/myenv
# echo 'export MYENV_BASE=/home/mysql/product/myenv' > /etc/myenv/MYENV_BASE
# cp /home/mysql/product/myenv/etc/myenv.conf /etc/myenv/
# rm -f myenv
# ln -s myenv-1.y myenv
# cp myenv/etc/aliases.conf.template /etc/myenv/aliases.conf
# cp myenv/etc/variables.conf.template /etc/myenv/variables.conf
# cat > ~/.bash_profile
# BEGIN MyEnv
# Written by the MyEnv installMyEnv.php script.
. /etc/myenv/MYENV_BASE
MYENV_PWD=`pwd`
cd $MYENV_BASE/bin
. myenv.profile
cd $MYENV_PWD
# END MyEnv
_EOF

Changes in MyEnv 1.0

MyEnv

  • cd abc xyz alias failed when one of the patterns contained a space. This is fixed now (Bug #10).
  • Different smaller bug fixes.
  • timezone added to MyEnv to avoid nasty error messages.
  • Old path in PATH variables should be cleaned-up properly now.
  • Incompatible Change: DEBUG variables replaced by MYENV_DEBUG.
  • MyEnv start/stop script (myenv_start_stop.php) accepts as parameter and instance name now (customer enhancement request).
  • hideschema parameter implemented for myenv.conf (customer enhancement request).
  • Default section is now configurable in section [default] (customer enhancement request).
  • Better support for Percona Server (customer enhancement request).
  • Readline support added for set-ups not having it by default (customer enhancement request).
  • cdb alias added for cd $basedir or cd $MYSQL_HOME.
  • Security check for my.cnf introduced.
  • Password was shown in clear text in error log (Bug #12).
  • tmp directory is added to MyEnv structure.
  • unknown version fixed.
  • Made hideschema variable inheritable.
  • Parameter drizzle and type removed. De-support for Drizzle.
  • The utl directory should be added to the PATH as well.
  • Add Path to the right of PATH is fixed now.
  • Possibility to start mysqld without angel process (mysqld_safe) now.
  • /tmp/myEnv.xxx files where not removed. This is fixed now.
  • 5.6.12 as version pattern is now accepted (customer request).
  • Incompatible Change: Configuration file (myenv.conf) is now relocated from $MYENV_HOME/etc to /etc/myenv.
  • MySQL stop functionality was changed from mysqladmin shutdown to kill (MySQL like).
  • my.cnf privilege check is less restrictive now (rwxr-----).

MyEnv Installer

  • Many bug fixes and improvements for MyEnv Installer.
  • Incompatible Change: MyEnv Installer rewritten, renamed (bin/installMyEnv.php) and code cleaned-up.
  • MySQL database can now be created in installer.
  • Check for mysql user is added to installer.
  • Missing mysql_install_db is caught.
  • Missing socket error is caught.
  • Only a stopped database can be deleted.
  • Configuration files are versioned when changed.
  • Delete process more user-friendly.
  • Missing basedir and datadir variables in my.cnf fixed.
  • Privileges of my.cnf file set correctly to avoid warning later.
  • Not existing my.cnf file caught.
  • Selection characters made more intuitive.
  • Empty my.cnf string caught.
  • Installer is aware of missing environment variables.
  • Start/stop instance parameter was added in installer.

MyEnv Utilities

  • Row Extractor (utl/row_extractor.pl) to extract rows from corrupt tables (leading to a DB crash) added.
  • Script to flush Query Cache regularly (utl/flush_query_cache.sh) added.
  • Script to find last access to tables (utl/filesystem_table.php) added.
  • MySQL Backup Manager (mysql_bman) added.
  • Script to do a NDB Cluster channel fail-over (utl/channel_failover.pl) added.
  • README about MyEnv utilities usage updated (utl/README).
  • Compare script to compare two GLOBAL STATUS outputs added (utl/compare.php).
  • Rotate log script to rotate different MySQL logs added (utl/rotate_log.sh).
  • Script to convert \G output of MySQL client to one-line output added (utl/backslashG2table.pl).
  • alter_engine.sh script improved by a Perl version (for windows customer) (utl/alter_engine.pl).
  • Different resources, configuration files and monitors added for Heartbeat v1/v2: (utl/{stop-heartbeat.alert|ping.monitor|node.monitor|mysql.monitor|mail.alert|Crontab|canias}, etc/{drbd.conf.template|ha.cf.template|mon.cf.template|my.cnf.template}).)
  • Slave Monitor added (utl/{slave_monitoring.php|slave_monitor.php}).
  • DRBD Monitor added (utl/check_drbd.sh).
  • MySQL Profiler added (utl/profiler/{profiler.pl|tracer.pl}).
  • split_partition.php and drop_partition.php scripts added (utl/{split_partition.php|drop_partition.php}).
  • Insert test added (utl/{insert_test.sh|insert_test.phpx}). Shell script is for connection testing. PHP script is more for INSERT load testing...
  • Utility mem_map.pl added (utl/mem_map.pl).
  • Start/stop script for VIP added (utl/vip).
  • Script to fix wrong encoding added (utl/fix_encoding.php).
  • Alter Engine script enhanced with MySQL 5.6 and Galera features.
  • Ping Log utility added (utl/ping_log.sh).
  • Script added to block MySQL port so Load Balancer recognizes if Galera Cluster node is away (utl/block_galera_node.sh, customer request).
  • Create table statement for test.test table for insert_test.* added as comment to the script.

MySQL Backup Manager (mysql_bman)

  • Several bugs fixed and improvements.
  • Schema dump implemented now (customer enhancement request).
  • Backup is now possible with MySQL 5.5 as well (Bug #31).
  • All parameters can now be put in the configuration file.
  • Configuration file is now more dynamic.
  • Archive job fixed.
  • Configuration backup fixed.
  • Xtrabackup wrapper added.
  • Empty schema option defaults now to all databases.
  • Per schema backup should not contain drop/create database.

Have fun,
The FromDual Consulting Team