MySQL多实例配置
实验环境:RHEL6.4为最小化安装,mysql安装包为通用二进制安装包,版本为mysql-5.6.26
- 创建mysql用户
#useradd –M –s /sbin/nologin mysql
#yum –y install ncurses-devel libaio-devel
#安装mysql的依赖包,否则下面无法初始化成功
- 软件包解压缩
# 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
- 创建目录
# 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多实例配置的更多相关文章
- MYSQL多实例配置方法 mysqld_multi方法
在实际的开发过程中,可能会需要在一台服务器上部署多个MYSQL实例,那建议使用MYSQL官方的解决方案 mysqld_multi 1.修改my.cnf 如一个定义两个实例的参考配置: [mysqld_ ...
- MYSQL多实例配置与使用教程
原文http://www.111cn.net/database/mysql/58651.htm 在实际的开发过程中,可能会需要在一台服务器上部署多个MYSQL实例,那建议使用MYSQL官方的解决方案 ...
- MySQL多实例配置(两)
MySQL操作和维护一个集中的数据库的.它可以由一个单一的执行MySQL在数据库服务器,部署多MySQL示例.这个功能是由mysqld_multi实现.mysqld_multimysqld的服务进程. ...
- MySQL多实例配置(一)
MySQL数据库的集中化运维,能够通过在一台MySQL数据库服务器上,部署多个MySQL实例.该功能是通过mysqld_multi来实现.mysqld_multi用于管理多个mysqld的服务进程,这 ...
- 基于mysqld_multi实现MySQL多实例配置
环境: 操作系统 CentOS7.5(已安装MySQL) 主机名 localhost 本机安装路径为 /usr/local/mysql 实验初始配置:所有主机关闭防火墙与selinux [ro ...
- 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 ...
- mysql、mariadb安装和多实例配置
本文目录:1. mysql单实例安装 1.1 rpm安装mysql 1.2 通用二进制包安装mysql 1.2.1 初始化数据库 1.2.2 安装后的规范化操作 1.3 编译安装 1.3.1 编译安装 ...
- Mysql多实例添加到开机自启的方法
Mysql多实例配置成功后,想让配置成开机自启. 首先看一下Linux启动的知识点,顺序如下. 1 加载内核2 执行init程序3 /etc/rc.d/rc.sysinit # 由init执行的第 ...
- MySQL多实例部署与优化
MySQL安装 ##上传MySQL安装包## mkdir /home/oldboy/tools -p cd /home/oldboy/tools/ ###wget -q http://mirrors. ...
随机推荐
- Transform DataGrid 套用格式
<table class="easyui-datagrid" title="Transform DataGrid" style="width:5 ...
- 单节点伪分布集群(weekend110)的Hive子项目启动顺序
因为,我的mysql是用root用户,在/home/hadoop/app/目录下,创建的. 第一步:开启mysql服务 第二步:启动hive [hadoop@weekend110 app]$ su r ...
- 在Dashboard中显示课表/日程表
对于使用Mac系统的朋友们来说,Dashboard一定并不陌生.通过Dashboard我们可以方便地添加小组件,查看日历,天气,便签等等.然而,这些都是“定制”的内容.如何在Dashboard中显示自 ...
- Java邮件服务学习之一:邮件服务概述
java可以提供邮件服务:一般理解的邮件服务就是可以发送和接收邮件的客户端,另外就是使用java编写邮件服务端:两者区别在于客户端只负责给终端客户收发邮件,就相当于小区楼下的那一排排的铁皮邮箱盒,而邮 ...
- POJ 3159 Candies(差分约束,最短路)
Candies Time Limit: 1500MS Memory Limit: 131072K Total Submissions: 20067 Accepted: 5293 Descrip ...
- Local host name unknown: java.net.UnknownHostException:
在Linux下安装完resin后,每次启动都出现如下错误: [11:06:45.617] {watchdog-} WatchdogProcess[Watchdog[],7] starting Resi ...
- C C++实现创建目录
下面代码是C.C++可以使用的创建目录的函数及头文件,这是引用的opencv,haartraining中的一种方式. #include <direct.h> //不同系统可能不一样,这是在 ...
- Java学习笔记(一):数据类型与变量
数据类型 Java中存在2种数据类型,下面我们来详解一下: 基本数据类型: 引用数据类型: 可以用一张表来记录: 基本数据类型 整型 byte:1个字节8位,取值范围为:[-128, 127],直接写 ...
- TFS 图标意思
小人:文件被其他人签出 对号:文件被自己签出 锁: 文件已经被签入 加号:新增加一个文件
- iOS小结
一.内存管理情况 1- autorelease,当用户的代码在持续运行时,自动释放池是不会被销毁的,这段时间内用户可以安全地使用自动释放的对象.当用户的代码运行告一段 落,开始等待用户的操作,自动释放 ...