mysql多实例命令_Mysql多实例
mysql多实例就是在一台服务器上同时开启多个不同的服务端口,同时运行多个mysql,这些服务进程通过不同的socket监听不同的服务器端口来提供服务.
这些MySQL多实例共用一套MySQL安装程序,使用不同的my.cnf(也可以相同)配置文件,启动程序(也可以相同)和数据文件。在提供服务时,多实例MySQL在逻辑上看起来是各自独立的,它们根据配置文件的对应设定值,获得服务器相应数量的硬件资源。
MySQL多实例的作用:(1)有效利用服务器资源 (2)节约服务器资源
配置
创建mysql多实例数据目录
mkdir -p /data/{3306,3307}/data
tree/data/
/data/├──3306#3306实例目录
│ └── data #3306实例的数据文件目录
├──3307#3307实例目录
└── data #3307实例的数据文件目录
创建Mysql多实例的配置文件
vim /data/3306/my.cnf
模板如下:
[client]
port= 3306socket= /data/3306/mysql.sock
[mysqld]
user=mysql
port= 3306socket= /data/3306/mysql.sock
basedir= /usr/local/mysql
datadir= /data/3306/data
open_files_limit= 1024back_log= 600max_connections= 800max_connect_errors= 3000table_open_cache= 614external-locking =FALSE
max_allowed_packet=8M
#binlog_cache_size=1M
#max_heap_table_size=64M
#read_buffer_size=2M
#read_rnd_buffer_size=16M
sort_buffer_size=1M
join_buffer_size=1M
thread_cache_size= 100thread_concurrency= 2query_cache_size=2M
query_cache_limit=1M
query_cache_min_res_unit=2k
#ft_min_word_len= 4#default-storage-engine =MYISAM
thread_stack=192K
transaction_isolation= READ-COMMITTED
tmp_table_size=2M
max_heap_table_size=2M
#log-bin=mysql-bin
#binlog_format=mixed
#slow_query_log
long_query_time= 1pid-file = /data/3306/mysql.pid
relay-log = /data/3306/relay-bin
relay-log-info-file = /data/3306/relay-log.infobinlog_cache_size=1M
max_binlog_cache_size=1M
max_binlog_size=2M
key_buffer_size=16M
read_buffer_size=1M
read_rnd_buffer_size=1M
bulk_insert_buffer_size=1M
lower_case_table_names= 1skip-name-resolve
slave-skip-errors = 1032,1062replicate-ignore-db =mysql
server-id = 1#key_buffer_size=32M
#bulk_insert_buffer_size=64M
#myisam_sort_buffer_size=128M
#myisam_max_sort_file_size=10G
#myisam_repair_threads= 1#myisam_recover
innodb_additional_mem_pool_size=4M
innodb_buffer_pool_size=32M
innodb_data_file_path=ibdata1:128M:autoextend
innodb_file_io_threads= 4#innodb_write_io_threads= 8#innodb_read_io_threads= 8innodb_thread_concurrency= 8innodb_flush_log_at_trx_commit= 2innodb_log_buffer_size=2M
innodb_log_file_size=4M
innodb_log_files_in_group= 3innodb_max_dirty_pages_pct= 90innodb_lock_wait_timeout= 120innodb_file_per_table= 0[mysqldump]
quick
max_allowed_packet=2M
[mysql]
no-auto-rehash
#[myisamchk]
#key_buffer_size=512M
#sort_buffer_size=512M
#read_buffer=8M
#write_buffer=8M
#[mysqlhotcopy]
#interactive-timeout
[mysqld_safe]
log-error = /data/3306/mysql_wk306.err
pid-file = /data/3306/mysqld.pid
3307与3306的区别 将文件里的3306换为3307即可
cp /data/3306/my.cnf /data/3307/cd/data/3307vim my.cnf% s#3306#3307#g #替换全局3306为3307server-id = 1 #server-id不能相同
创建多实例启动文件
vim /data/3306/mysql
模板如下:
#!/bin/bash
###############################################
#this scripts is created by wk at2016-06-25port=3306mysql_user="root"mysql_pwd=""#这里需要修改为用户的实际密码
CmdPath="/usr/local/mysql/bin"mysql_sock="/data/${port}/mysql.sock"#startupfunctionfunction_start_mysql(){if [ ! -e "$mysql_sock" ];thenprintf"Starting MySQL....\n"
/bin/sh ${CmdPath}/mysqld_safe --defaults-file=/data/${port}/my.cnf 2>&1 >/dev/null &
elseprintf"MySQL is running...\n"exitfi}
#stopfunctionfunction_stop_mysql(){if [ ! -e "$mysql_sock" ];thenprintf"MySQL is stopped...\n"exitelseprintf"Stoping MySQL...\n"${CmdPath}/mysqladmin -u ${mysql_user} -p${mysql_pwd} -S /data/${port}/mysql.sock shutdownfi}
#restartfunctionfunction_restart_mysql(){
printf"Restarting MySQL...\n"function_stop_mysqlsleep 2function_start_mysql
}case $1 instart)
function_start_mysql
;;
stop)
function_stop_mysql
;;
restart)
function_restart_mysql
;;*)
printf"Usage: /data/${port}/mysql{start|stop|restart}\n"
esac
3307实例的启动文件只需修改3306启动文件的端口即可
cp /data/3306/mysql /data/3307/cd/data/3307vim mysql
配置MySQL多实例的文件权限
chown -R mysql.mysql /data/ #设置属主属组find /data -name "mysql" | xargs chmod 700 #将不同目录的两个mysql文件设为700权限
MySQL相关命令加入全局路径的配置
echo 'export PATH=/usr/local/mysql/bin:$PATH' >> /etc/profile #添加全局变量
source/etc/profile #使其立即生效
初始化MySQL多实例的数据库文件
cd /usr/local/mysql/scripts/./mysql_install_db --basedir=/usr/local/mysql --datadir=/data/3306/data --user=mysql #初始化3306数据库
./mysql_install_db --basedir=/usr/local/mysql --datadir=/data/3307/data --user=mysql #初始化3307数据库
#--basedir=/usr/local/mysql为MySQL的安装路径,--datadir为不同的实例数据目录
启动MySQL多实例的命令
/data/3306/mysql start #启动3306/data/3307/mysql start #启动3307
netstat-antup | grep 330#查看是否启动
登陆MySQL
mysql -S /data/3306/mysql.sock
mysql-S /data/3307/mysql.sock
重启对应的库
/data/3306/mysql stop/data/3307/mysql start
MySQL安全配置
设置登录密码:
mysqladmin -u root -S /data/3306/mysql.sock password '123123' #为mysql设置密码
mysql启动脚本里有mysql 密码设定的变量 修改后的密码必须在启动脚本里也进行修改.两者一样
禁止使用pkill,kill -9,killall -9等命令强制杀死数据库,这会引起数据库无法启动等故障的发生
再增加一个MySQL的实例
只需要在/data下创建3308
mkdir -p /data/3308/data/
导入配置文件my.cnf #参照3307导入
启动脚本mysql #参照3307导入
设置属主属组
chown -R mysql.mysql /datac
给与权限
chmod 700 mysql
初始化配置文件
cd /usr/local/mysql/scripts/./mysql_install_db --basedir=/usr/local/mysql --datadir=/data/3308/data --user=mysql
执行启动脚本即可执行
mysql多实例命令_Mysql多实例相关推荐
- mysql服务实例配置_MySQL多实例配置(一)
MySQL数据库的集中化运维,能够通过在一台MySQL数据库服务器上,部署多个MySQL实例.该功能是通过mysqld_multi来实现.mysqld_multi用于管理多个mysqld的服务进程,这 ...
- mysql服务实例配置_MySQL多实例配置
MySQL的多实例配置 在一台物理机中需要多个测试环境,那么就需要用到了搭建数据库的多个实例,多个实例的意思就是运行多份程序,实例与实例之间没有影响.要注意监听的端口需要不同. 环境:CentOS7 ...
- mysql 单实例设置密码_MySQL单实例重置密码的两种方法
MySQL单实例重置密码的两种方法 在工作学习中,我们有时会忘记数据库的密码,下面是MySQL单实例密码重置的步骤. 说明: (1)[root@mysql1 ~]# cat /etc/redhat-r ...
- mysql父子节点分层_mysql 递归实例 父子节点层级递归
在Oracle中可以使用CONNECT BY子句可以轻松的实现递归查询,在MSSQLServer和DB2中则可以使用WITH子句来实现递归查询,MYSQL中即不支持CONNECT BY子句也不支持 ...
- mysql查看连接数命令_Mysql 查看连接数,状态
命令: show processlist; 如果是root帐号,你能看到所有用户的当前连接.如果是其它普通帐号,只能看到自己占用的连接. show processlist;只列出前100条,如果想全列 ...
- mysql设置字符集命令_mysql命令设置字符集
2页 1财富值 修改数据库字符集 2页 2财富值 mysql字符集 3页 2财富值 MySQL字符集 3页 免费 MySQL字符集问题 7页 2财富值喜欢此文档的还喜欢 ...... 默认字符集的方法 ...
- mysql的启动命令_mysql的配置和启动命令
一.mysql配置文件在linux系统下的位置 使用命令查询位置: 1.找到安装位置 which mysql -> /usr/bin/mysql 2.接下来就可以针对这个目录通过一些命令查看配 ...
- mysql 导入sql命令_MySQL导入.sql文件及常用命令
MySQL导入.sql文件及常用命令 在MySQL Qurey Brower中直接导入*.sql脚本,是不能一次执行多条sql命令的,在mysql中执行sql文件的命令: mysql> so ...
- mysql数据库导出命令_MYSQL 数据库导入导出命令
在不同操作系统或MySQL版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生.所以一般推荐用SQL脚本形式导入.下面分别介绍两种方法. MySQL命令行导出数据库 1,进入MySQL目录下的bin ...
最新文章
- quartz在集群环境下的最终解决方案
- 腾讯云Linux云主机SSH远程连接
- 网络推广网站浅析如何做好关键词布局优化?
- OS开发UI篇—popoverController使用注意
- 【核心API开发】Spark入门教程[3]
- python程序设计语言的执行方式_编程语言用Python执行程序的4种方式
- Wonder——Auggie | Education
- Myeclipse8.5 反编译插件 jad 安装(转)
- 2013年新年礼物---CrossFPC 终于出来了
- 车和家李想批国内电动车虚假里程宣传:特斯拉都打到家门口了别自嗨了
- sping boot demo解释
- iis7连接mysql_windows2008中正确使用IIS7配置PHP与MySQL
- iOS底层探索之类的结构—cache分析(下)
- matlab 矩阵分行标准化,matlab矩阵标准化
- 高中计算机奥林匹克竞赛试题及答案,高中数学奥林匹克竞赛试题及答案.doc
- 手写一个博客平台 ~ 第六天
- C++定义一个复数类Complex,使得下面的代码能够工作。(注:下列代码需放在主函数中。)
- 鸽了亿下下的游记——2022 GDOI普及组游记
- 单片机c语言中sbuf的定义,SBUF的详细介绍!(51单片机)
- Unable to set custom 'dev_loss_tmo' value in RHEL7