mysql 多实例部署
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 多实例部署相关的知识,希望对你有一定的参考价值。
Centos7.6 部署3个Mariadb 实例[[email protected] ~]# yum install mariadb-server -y
# 创建对应的目录文件
[[email protected] ~]# mkdir /mysql/{3306,3307,3308}/{data,etc,socket,log,bin,pid} -p
chown -R mysql.mysql /mysql
# 初始化数据库文件
[[email protected] ~]# mysql_install_db --datadir=/mysql/3306/data/ --user=mysql
[[email protected] ~]# mysql_install_db --datadir=/mysql/3307/data/ --user=mysql
[[email protected] ~]# mysql_install_db --datadir=/mysql/3308/data/ --user=mysql
# 创建对应配置文件
[[email protected] ~]# cp /etc/my.cnf /mysql/3306/etc
# 修改对应的配置文件
[mysqld]
port=3306
datadir=/mysql/3306/data
socket=/mysql/3306/socket/mysql.sock
symbolic-links=0
[mysqld_safe]
log-error=/mysql/3306/log/mariadb.log
pid-file=/mysql/3306/pid/mariadb.pid
# 另外的2个实例调整对应的端口即可
# 准备启动脚本 另外的实例修改对应的端口即可
[[email protected] ~]# vim /mysql/3306/bin/mysqld
#!/bin/bash
#chkconfig: 345 80 2
port=3306
mysql_user="root"
mysql_pwd=""
cmd_path="/usr/bin"
mysql_basedir="/mysql"
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
# 启动服务
[[email protected] ~]# /mysql/3306/bin/mysqld start
Starting MySQL...
[[email protected] ~]# /mysql/3307/bin/mysqld start
Starting MySQL...
[[email protected] ~]# /mysql/3308/bin/mysqld start
Starting MySQL...
# 连接测试
mysql -S /mysql/3308/socket/mysql.sock -e ‘select version()‘
+----------------+
| version() |
+----------------+
| 5.5.60-MariaDB |
+----------------+
# 关闭数据库
[[email protected] ~]# /mysql/3306/bin/mysqld stop
Stoping MySQL...
Enter password:
以上是关于mysql 多实例部署的主要内容,如果未能解决你的问题,请参考以下文章