mysql yum多实例_mysql———基于yum源实现多实例
基于yum源實現多實例
本實驗實現三個實例,分別使用端口3306,3307,3308
1.yum安裝mariadb-server#yum install mariadb-server
2.創建各個實例存放的目錄#mkdir? /data/mysql/{3306,3307,3308}/{etc,data,socket,log,bin,pid} -pv
3.修改目錄及子目錄的權限#chown -R mysql.mysql? /data/mysql
4.利用腳本生成默認數據庫及數據文件#/usr/bin/mysql_install_db --datadir=/data/mysql/3306/data --user=mysql
#/usr/bin/mysql_install_db --datadir=/data/mysql/3307/data --user=mysql
#/usr/bin/mysql_install_db --datadir=/data/mysql/3308/data --user=mysql
5.準備配置文件
以3306為例,3307和3308按照3306的配置文件加以修改即可。#vim /data/mysql/3306/etc/my.cnf[mysqld]
port=3306
datadir=/data/mysql/3306/data
socket=/data/mysql/3306/socket/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
[mysqld_safe]
log-error=/data/mysql/3306/log/mariadb.log
pid-file=/data/mysql/3306/pid/mariadb.pid
#
# include all files from the config directory
#
#!includedir /etc/my.cnf.d
6.準備啟動程序腳本
我事先準備好了一個簡單的腳本文件mysqld(文末附腳本內容)#cp mysqld /data/mysql/3306/bin/
針對各個實例稍加修改(以3306為例)
文件中修改的內容:#!/bin/bash
port=3306
mysql_user="root"
mysql_pwd=""
cmd_path="/usr/bin"
mysql_basedir="/data/mysql"
mysql_sock="${mysql_basedir}/${port}/socket/mysql.sock"
修改完以后,對程序腳本添加執行權限:#chmod +x /data/mysql/3306/bin/mysqld
#chmod +x /data/mysql/3307/bin/mysqld
#chmod +x /data/mysql/3308/bin/mysqld
完成之后就可以運行啟動程序腳本啟動實例了(以3306為例)#/data/mysql/3306/bin/mysqld start
啟動之后可以查看端口開放情況以驗證是否成功。
啟動成功嗎,便可以通過socket,打開三個不同的實例了。(以3306為例)#mysql -S /data/mysql/3306/socket/mysql.sock
7.修改數據庫口令#mysqladmin -uroot -S /data/mysql/3306/socket/mysql.sock password "centos"
之后再次修改mysqld腳本
附:mysqld腳本文件內容#!/bin/bash
port=3306
mysql_user="root"
mysql_pwd="centos"
cmd_path="/usr/bin"
mysql_basedir="/data/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
總結
以上是生活随笔為你收集整理的mysql yum多实例_mysql———基于yum源实现多实例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: USTC English Club No
- 下一篇: 4月1日被愚了吗,我就看看你们都比较都喜