目录结构
[root@leo opt]# tree -L 1 /opt/
/opt/
├── file
├── mysql3306
├── mysql3307
└── sys_mysql.sh
[root@leo opt]# tree -L 1 /opt/mysql3306
/opt/mysql3306
├── bin
├── data
├── docs
├── include
├── lib
├── LICENSE
├── man
├── my.cnf
├── README
├── share
├── slow-query.log
└── support-files
#!/bin/bash
if [[ $1 < 3306 || $1 > 3307 ]];then
echo "Usage: $0 {3306|3307} {start|stop|status|restart|connect}" >&2
exit
fi
base_dir=/opt/mysql"$1"
my_cnf=$base_dir/my.cnf
sock=$base_dir/mysql.sock
start_dir=$base_dir/bin/mysqld_safe
pid=$base_dir/data/leo.pid
test_status(){
if [ -e $pid ]
then
echo "mysql is running"
else
echo "mysql is down"
fi
}
case "$2" in
'start' )
$start_dir --defaults-file=$my_cnf &
;;
'stop' )
$base_dir/bin/mysqladmin -uroot -p123456 shutdown
;;
'status' )
test_status
;;
'restart' )
$base_dir/bin/mysqladmin -uroot -p123456 shutdown
test_status
sleep 3
$start_dir --defaults-file=$my_cnf &
sleep 3
test_status
;;
'connect')
read -p "请输入用户" user
read -p "输入密码" passwd
$base_dir/bin/mysql -u$user -p$passwd -S $sock
;;
*)
echo "Usage: $0 {3306|3307} {start|stop|status|restart}" >&2
;;
esac