MariaDB多实例
一、yum安装MariaDB并启动
yum install MariaDB-server
systemctl start mariadb.service
二、按案例建立目录并设置属主属组
将配置文件和数据库按案例存放
mkdir -pv /mysqldb/{3306,3307,3308}/{etc,socket,pid,log,data}
设置目录属主属组
chown -R mysql.mysql /mysqldb
三、建立数据库文件
mysql -e 'show variables like "basedir";' #查询Mariadb安装目录
mysql_install_db --datadir=/mysqldb/3306/data --user=mysql --basedir=/usr
mysql_install_db --datadir=/mysqldb/3307/data --user=mysql --basedir=/usr
mysql_install_db --datadir=/mysqldb/3308/data --user=mysql --basedir=/usr
四、配置文件
cp /etc/my.cnf /mysqldb/3306/etc/ cp /etc/my.cnf /mysqldb/3307/etc/ cp /etc/my.cnf /mysqldb/3308/etc/
修改配置文件
3307 3308也是一样,需要改端口和目录位置
五、服务脚本
#!/bin/bash port=3306 mysql_user="root" mysql_pwd="" cmd_path="/usr/bin" #可以用which mysqld_safe查询 mysql_basedir="/mysqldb" mysql_sock="${mysql_basedir}/${port}/socket/mysql.sock" function_start_mysql() { if [ ! -e "$mysql_sock" ];then printf "Starting MySQL...\n" ${cmd_path}/mysqld_safe --defaults-file=${mysql_basedir}/${port}/etc/my.cnf &> /dev/null & else printf "MySQL is running...\n" exit fi } function_stop_mysql() { if [ ! -e "$mysql_sock" ];then printf "MySQL is stopped...\n" exit else printf "Stoping MySQL...\n" ${cmd_path}/mysqladmin -u ${mysql_user} -p${mysql_pwd} -S ${mysql_sock} shutdown fi } function_restart_mysql() { printf "Restarting MySQL...\n" function_stop_mysql sleep 2 function_start_mysql } case $1 in start) function_start_mysql ;; stop) function_stop_mysql ;; restart) function_restart_mysql ;; *) printf "Usage: ${mysql_basedir}/${port}/bin/mysqld {start|stop|restart}\n" esac
设置权限
3307,3308也是一样,需改端口号
六、启动服务(注意需停掉正在做多案列的Mariadb服务,防止冲突)
/mysqldb/3306/mysqld start /mysqldb/3307/mysqld start /mysqldb/3308/mysqld start
七、测试连接
mysql -S /mysqldb/3306/socket/mysql.sock
mysql -S /mysqldb/3307/socket/mysql.sock
mysql -S /mysqldb/3308/socket/mysql.sock