mysql 多實例部署

Centos7.6 部署3個Mariadb 實例

[root@localhost ~]# yum install mariadb-server -y

# 創建對應的目錄文件
[root@localhost ~]# mkdir /mysql/{3306,3307,3308}/{data,etc,socket,log,bin,pid} -p

chown -R mysql.mysql /mysql

# 初始化數據庫文件
[root@localhost ~]# mysql_install_db --datadir=/mysql/3306/data/ --user=mysql
[root@localhost ~]# mysql_install_db --datadir=/mysql/3307/data/ --user=mysql
[root@localhost ~]# mysql_install_db --datadir=/mysql/3308/data/ --user=mysql

# 創建對應配置文件
[root@localhost ~]# 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個實例調整對應的端口即可

# 準備啓動腳本 另外的實例修改對應的端口即可
[root@localhost ~]#  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

# 啓動服務
[root@localhost ~]# /mysql/3306/bin/mysqld start
Starting MySQL...
[root@localhost ~]# /mysql/3307/bin/mysqld start
Starting MySQL...
[root@localhost ~]# /mysql/3308/bin/mysqld start
Starting MySQL...

# 連接測試
mysql -S /mysql/3308/socket/mysql.sock -e 'select version()'
+----------------+
| version()      |
+----------------+
| 5.5.60-MariaDB |
+----------------+

# 關閉數據庫
[root@localhost ~]# /mysql/3306/bin/mysqld stop
Stoping MySQL...
Enter password:
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章