1つのサーバにmysql複数プロセス立ち上げる

基本
MySQLプロセスを一台のサーバで複数起動 [GameCreator'sNote]

mysql dirの初期化だけはこちらの手順
MySQLのデータベースを初期化する - Qiita


つまり

vim /etc/my2.cnf
mkdir /var/lib/mysql2
chown mysql:mysql /var/lib/mysql2

# init dir
su mysql
mysql_install_db --datadir=/var/lib/mysql2
exit

# 
mkdir -pv /var/lib/mysql2
chown mysql:mysql /var/lib/mysql2

# check log. no error
tail -f /var/log/mysqld2.log
# 最終行がこんな感じであればOK
# Version: '5.5.42'  socket: '/var/lib/mysql2/mysql2.sock'  port: 3307  MySQL Community Server (GPL)

# login
mysql -uroot -p --socket=/var/lib/mysql2/mysql2.sock


/etc/my2.cnf

[mysqld]
datadir=/var/lib/mysql2
socket=/var/lib/mysql2/mysql2.sock

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

#log-bin
server-id=1001
port=3307

[mysqld_safe]
log-error=/var/log/mysqld2.log
pid-file=/var/run/mysqld2/mysqld2.pid

perlDBIから2つめのmysqlに接続

my $dbh = DBI->connect("DBI:mysql:database=$DB_NAME;host=localhost;port=3307;mysql_socket=/var/lib/mysql2/mysql2.sock", $user, $pass);

mysql_socketを指定しないと、仮にポート番号などその他の情報がが2つめのmysqlを正しく指していたとしても、何のエラーメッセージもなくデフォルトの1つめのmysqlに接続されてしまう。
最初は1つ目のmysqlに接続されているということに気づかずに少し嵌った。