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

启动之后可以查看端口开放情况以验证是否成功。

7855

7855

启动成功吗,便可以通过socket,打开三个不同的实例了。(以3306为例)#mysql -S /data/mysql/3306/socket/mysql.sock

7855

7.修改数据库口令#mysqladmin -uroot -S /data/mysql/3306/socket/mysql.sock password "centos"

之后再次修改mysqld脚本

7855

附: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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值