实验环境:RHEL6.4为最小化安装,mysql安装包为通用二进制安装包,版本为mysql-5.6.26

  1. 创建mysql用户

    #useradd –M –s /sbin/nologin mysql

    #yum –y install ncurses-devel libaio-devel

    #安装mysql的依赖包,否则下面无法初始化成功

  2. 软件包解压缩

    # tar xf mysql-5.6.26-linux-glibc2.5-x86_64.tar.gz -C /usr/local

    # mv /usr/local/mysql-5.6.26-linux-glibc2.5-x86_64/ /usr/local/mysql

  3. 创建目录

    # mkdir /data/{3306,3307}/data –pv

    # mkdir /data/{3306,3307}/log –pv

    # tree /data/ #查看目录树

4. /data/3306中新建my.cnf

# cd /data/3306/

# vim my.cnf

[client]

port = 3306

socket = /data/3306/mysql.sock

[mysqld]

port=3306

socket = /data/3306/mysql.sock

pid-file = /data/3306/data/mysql.pid

basedir = /usr/local/mysql

datadir = /data/3306/data

server-id=1

#log-bin=mysql-bin

#log-bin-index= mysql-bin.index

# LOGGING

log_error=/data/3306/log/mysql-error.log

slow_query_log_file=/data/3306/log/mysql-slow.log

slow_query_log=1

5. /data/3307中新建my.cnf

# cd ../3307/

# vim my.cnf

[client]

port = 3307

socket = /data/3307/mysql.sock

[mysqld]

port=3307

socket = /data/3307/mysql.sock

pid-file = /data/3307/data/mysql.pid

basedir = /usr/local/mysql

datadir = /data/3307/data

server-id=2

#log-bin=mysql-bin

#log-bin-index= mysql-bin.index

# LOGGING

log_error=/data/3307/log/mysql-error.log

slow_query_log_file=/data/3307/log/mysql-slow.log

slow_query_log=1

6.
在/data/3306中新建mysql启动文件

# cd /data/3306/

# vim mysql

#!/bin/sh

[ -f /etc/init.d/functions ] && . /etc/init.d/functions

port=3306

mysql_user="root"

mysql_pwd=""

mysql_sock="/data/${port}/mysql.sock"

CmdPath="/usr/local/mysql/bin"

#startup function

usage(){

printf "Usage: /data/${port}/mysql {start|stop|restart}\n"

}

function_start_mysql()

{

if [ ! -e "$mysql_sock" ];then

/bin/sh ${CmdPath}/mysqld_safe --defaults-file=/data/${port}/my.cnf 2>&1 > /dev/null &

action "Starting MySQL..." /bin/true

else

printf "MySQL is running...\n"

exit

fi

}

#stop function

function_stop_mysql()

{

if [ ! -e "$mysql_sock" ];then

printf "MySQL is stopped...\n"

exit

else

action "Stoping MySQL..." /bin/true

${CmdPath}/mysqladmin -u ${mysql_user} -p${mysql_pwd} -S /data/${port}/mysql.sock shutdown

fi

}

#restart function

function_restart_mysql()

{

function_stop_mysql &>/dev/null

sleep 2

function_start_mysql &>/dev/null

action "Restarting MySQL..." /bin/true

}

if [ $# -ne 1 ];then

usage

fi

case $1 in

start)

function_start_mysql

;;

stop)

function_stop_mysql

;;

restart)

function_restart_mysql

;;

*)

usage

esac

#chmod +x mysql

、在/data/3307中新建mysql启动文件

# cd /data/3307/

# vim mysql

#!/bin/bash

[ -f /etc/init.d/functions ] && . /etc/init.d/functions

port=3307

mysql_user="root"

mysql_pwd=""

mysql_sock="/data/${port}/mysql.sock"

CmdPath="/usr/local/mysql/bin"

usage(){

printf "Usage: /data/${port}/mysql {start|stop|restart}\n"

}

#startup function

function_start_mysql()

{

if [ ! -e "$mysql_sock" ];then

/bin/sh ${CmdPath}/mysqld_safe --defaults-file=/data/${port}/my.cnf 2>&1 > /dev/null &

action "Starting MySQL..." /bin/true

else

printf "MySQL is running...\n"

exit

fi

}

#stop function

function_stop_mysql()

{

if [ ! -e "$mysql_sock" ];then

printf "MySQL is stopped...\n"

exit

else

action "Stoping MySQL..." /bin/true

${CmdPath}/mysqladmin -u ${mysql_user} -p${mysql_pwd} -S /data/${port}/mysql.sock shutdown

fi

}

#restart function

function_restart_mysql()

{

function_stop_mysql &>/dev/null

sleep 2

function_start_mysql &>/dev/null

action "Restarting MySQL..." /bin/true

}

case $1 in

start)

function_start_mysql

;;

stop)

function_stop_mysql

;;

restart)

function_restart_mysql

;;

*)

usage

esac

#chmod +x mysql

8. 修改文件拥有者和权限

#chown -R mysql:mysql /data

9. 添加mysql启动路径 

#echo 'export PATH=$PATH:/usr/local/mysql/bin' >>/etc/profile
   #source /etc/profile

10. 初始化数据库 

# cd /usr/local/mysql/scripts/

#./mysql_install_db --defaults-file=/data/3306/my.cnf --user=mysql --basedir=/usr/local/mysql --datadir=/data/3306/data

#./mysql_install_db --defaults-file=/data/3307/my.cnf --user=mysql --basedir=/usr/local/mysql --datadir=/data/3307/data

11. 启动mysql

#/data/3306/mysql start
#/data/3307/mysql start
#netstat -lntp | grep 330    #查看是否启动进程

12. 登陆mysql

①# mysql -S /data/3306/mysql.sock #刚安装完的mysql是没有登陆密码的

#如果不成功,检查/data/3306/log目录下的mysql-error.log日志,逐一排除错误

如果登陆成功,下面就修改登录密码

mysql> update mysql.user set password=password("123456") where user='root';
mysql> flush privileges;

不建议在shell环境下修改密码,否则别人只要查看命令历史就能看到密码。当然你也可以是shell下进行,但是记得要清楚历史命令记录。

的登陆密码
# mysql -S /data/3307/mysql.sock

mysql> update mysql.user set password=password("123456") where user='root';
mysql> flush privileges;

③要把上面更改后的密码写回到mysql的启动文件中(否则每次启动、关闭、重启mysql都要输入密码)

# sed -i 's/mysql_pwd=\"\"/mysql_pwd=\"123456\"/g' /data/3306/mysql
#sed -i 's/mysql_pwd=\"\"/mysql_pwd=\"123456\"/g' /data/3307/mysql

也可以手动进行修改

#vim /data/3306/mysql

# vim /data/3307/mysql

13. 重启mysql

#/data/3306/mysql restart

#/data/3307/mysql restart
    #netstat -lntp | grep 330

14.知识点

进入mysql时,要记得加-S 指定mysql套接字的路径

# mysql –u root –p -S /data/3307/mysql.sock

下面的命令可以平滑关闭mysql

# mysqladmin -uroot -p123456 -S /data/3306/mysql.sock shutdown

 

 

 

 

MySQL多实例配置的更多相关文章

  1. MYSQL多实例配置方法 mysqld_multi方法

    在实际的开发过程中,可能会需要在一台服务器上部署多个MYSQL实例,那建议使用MYSQL官方的解决方案 mysqld_multi 1.修改my.cnf 如一个定义两个实例的参考配置: [mysqld_ ...

  2. MYSQL多实例配置与使用教程

    原文http://www.111cn.net/database/mysql/58651.htm 在实际的开发过程中,可能会需要在一台服务器上部署多个MYSQL实例,那建议使用MYSQL官方的解决方案 ...

  3. MySQL多实例配置(两)

    MySQL操作和维护一个集中的数据库的.它可以由一个单一的执行MySQL在数据库服务器,部署多MySQL示例.这个功能是由mysqld_multi实现.mysqld_multimysqld的服务进程. ...

  4. MySQL多实例配置(一)

    MySQL数据库的集中化运维,能够通过在一台MySQL数据库服务器上,部署多个MySQL实例.该功能是通过mysqld_multi来实现.mysqld_multi用于管理多个mysqld的服务进程,这 ...

  5. 基于mysqld_multi实现MySQL多实例配置

    环境: 操作系统  CentOS7.5(已安装MySQL) 主机名    localhost 本机安装路径为 /usr/local/mysql 实验初始配置:所有主机关闭防火墙与selinux [ro ...

  6. mysql多实例配置下,用脚本启动mysql时,出现Please read "Security" section of the manual to find out how to run mysqld as root!

    [root@localhost 3308]# mysqld stop170414 0:35:28 [Note] --secure-file-priv is set to NULL. Operation ...

  7. mysql、mariadb安装和多实例配置

    本文目录:1. mysql单实例安装 1.1 rpm安装mysql 1.2 通用二进制包安装mysql 1.2.1 初始化数据库 1.2.2 安装后的规范化操作 1.3 编译安装 1.3.1 编译安装 ...

  8. Mysql多实例添加到开机自启的方法

    Mysql多实例配置成功后,想让配置成开机自启. 首先看一下Linux启动的知识点,顺序如下. 1 加载内核2 执行init程序3 /etc/rc.d/rc.sysinit   # 由init执行的第 ...

  9. MySQL多实例部署与优化

    MySQL安装 ##上传MySQL安装包## mkdir /home/oldboy/tools -p cd /home/oldboy/tools/ ###wget -q http://mirrors. ...

随机推荐

  1. nova --debug image-list

    nova --debug image-list DEBUG (session:) REQ: curl -g -i -X GET http://liberty-aio:35357/v3 -H " ...

  2. Shell中的变量

    一.什么是变量 变量在 bash 环境中是非常重要的,简单的说,就是让某一个特定字符串来代表不固定的内容.举例: 那就是:『 y = ax + b 』这东西,在等号左边的(y)就是变量,在等号右边的( ...

  3. MySQL索引的创建,查看,删除

    在执行CREATE TABLE语句时可以创建索引,也可以单独用CREATE INDEX或ALTER TABLE来为表增加索引. 1.ALTER TABLE ALTER TABLE用来创建普通索引.UN ...

  4. POJ 1679 The Unique MST (次小生成树)

    题目链接:http://poj.org/problem?id=1679 有t组数据,给你n个点,m条边,求是否存在相同权值的最小生成树(次小生成树的权值大小等于最小生成树). 先求出最小生成树的大小, ...

  5. Java中的Filter过滤器

    Filter简介 Filter也称之为过滤器,它是Servlet技术中最实用的技术,Web开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件 ...

  6. Laravel入门笔记

    Laravel 是一款简洁,优雅的一款框架,可以说是入门TP后的第二款可以选择的框架. 目录部分: app -> 自己写的代码 http -> Controller -> 控制器 b ...

  7. BZOJ 2588: Spoj 10628. Count on a tree 树上跑主席树

    2588: Spoj 10628. Count on a tree Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/J ...

  8. SQL Server中DML语句要申请的锁

    对于select语句: 1.当採用表扫描时,会直接锁定page,而不是锁定详细的某条记录,所以会有这些锁: A.数据库S锁 B.表的IS锁 C.页的S锁 2.当採用索引来查找数据时,会锁定详细的记录, ...

  9. Web APP 随笔

    自Iphone和Android这两个牛逼的手机操作系统发布以来,在互联网界从此就多了一个新的名词-WebApp(意为基于WEB形式的应用程序,运行在高端的移动终端设备). 开发者们都知道在高端智能手机 ...

  10. Node.js 的Web server--Fenix

    Fenix 是提供给开发者使用的简单的一个 Web server, 是基于 Node.js 开发. 能够同一时候在上面执行非常多的项目. 最适合前端开发者使用. 能够通过免费的 Node.js 控制台 ...