启动多个mysql实例
如果使用./support-files/mysql.server 文件启动,则默认读取/etc/my.cnf 配置文件,这种方式有时候启动不了
会提示报错 :The server quit without updating PID file
所以我们使用启动命令mysqld_safe启动,多个实例只是重复下面的过程,更换目录和端口即可,当然也有一个mysql软件启动多个实例的方法。
解压mysql二进制包
useradd -r -s /sbin/nologin mysql
tar xvf mysql-5.6.44-linux-glibc2.12-x86_64.tar.gz -C /usr/local/mysql
chown mysql.mysql -R /usr/local/mysql
初始化数据库
该过程必须到安装目录以相对路径去执行初始化命令。
yum -y install autoconf libaio libaio-devel
cd ./mysql && scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data
创建配置文件
初始化完成后,默认会在 ./mysql/ 目录下创建 my.cnf 的文件
-rw-r--r-- root root 5月 : my.cnf
清空该文件,写入如下配置 vim ./my.cnf,可以根据自己需求修改配置
其中[client]区域是mysql客户端的配置,二进制包默认读取 /etc/my.cnf (在编译时习惯指定该位置)
[client]
port = 3306
socket = /usr/local/mysql/data/mysql.sock
[mysql]
default_character_set = utf8
[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
log-error = /usr/local/mysql/data/error.log
pid-file = /usr/local/mysql/data/mysql.pid
socket = /usr/local/mysql/data/mysql.sock
port = 3306
user = mysql
bind-address = 0.0.0.0
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
default-storage-engine = INNODB
lower_case_table_names = 1
collation-server = utf8_general_ci
character-set-server = utf8
wait_timeout = 1200
interactive_timeout = 1200
启动数据库
为了启动方便,创建一个简单的启动脚本,首先说明一点,mysql启动时要在mysql目录下启动才会成功,否则会启动失败。
cat << 'EOF' > ./start.sh
#!/bin/bash
mysql_dir=/usr/local/mysql
cd $mysql_dir
/bin/sh ${mysql_dir}/bin/mysqld_safe --defaults-file=$mysql_dir/my.cnf &>/dev/null &
EOF
补充命令
因为启动多个mysql,所以我们指定了PID文件和套接字文件的位置,所以登录时要指定套接字或者ip+端口方式登录
mysql -S /usr/local/mysql/data/mysql.sock -uroot -p
mysql -h 127.0.0.1 -P -uroot -p
关闭数据库,可以使用kill 直接将其杀死(守护进程和mysql进程都要杀死),但不推荐这种方式,建议使用mysqladmin命令
./bin/mysqladmin -S /usr/local/mysql/data/mysql.sock -uroot -p shutdown
查看mysql状态
./bin/mysqladmin -S /usr/local/mysql/data/mysql.sock -uroot -p ping
创建systenctl脚本
cat << 'EOF' > /usr/lib/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Service]
Type=forking
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/start.sh
LimitNOFILE = 5000
[Install]
WantedBy=multi-user.target
EOF
启动多个mysql实例的更多相关文章
- CentOS 7.0 启动多个MySQL实例(mysql-5.7.21)
Linux系统:CentOS-7.0 MySQL版本:5.7.21 Linux系统下启动多个MySQL实例,目前知道有两种方法,一种是通过官方提供的mysqld_multi.server来实现,但是我 ...
- 【MySQL】CentOS7中使用systemctl工具管理启动和停止MySQL
centos7以前版本,可以使用这个/etc/init.d/mysqld start 来启动mysql 但是centos7之后,通过systemctl start mysqld.service 这个要 ...
- 如何安全地关闭MySQL实例
如何安全地关闭MySQL实例 转载自:http://imysql.com/2014/08/13/mysql-faq-howto-shutdown-mysqld-fulgraceful.shtml 本文 ...
- Windows下多个Mysql实例配置主从(转)
https://www.cnblogs.com/jpfss/p/8143720.html 序: 网上有很多类似的文章,也是各种百度出来的,但是对于多数刚开始接触MYSQL主从的小白来说,网上文 ...
- 同一台windows下配置安装多个mysql实例,实现主从同步
一.安装多个mysql 参见: https://blog.csdn.net/wrh_csdn/article/details/80198795 https://www.cnblogs.com/qjoa ...
- 在docker中运行mysql实例
Docker是一种新兴的虚拟化技术,能够一定程度上的代替传统虚拟机.下图是容器跟虚拟机的对比 对docker有个大致了解,学习docker断断续续,虽说学习不能急于求成,但断断续续学的话,浪费的碎片化 ...
- 存储总量达20T的MySQL实例,如何完成迁移?
版权声明:本文由王亮原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/122 来源:腾云阁 https://www.qclou ...
- Windows上安装多个MySQL实例(转)
在学习和开发过程中有时候会用到多个MySQL数据库,比如Master-Slave集群.分库分表,开发阶段在一台机器上安装多个MySQL实例就显得方便不少. 在 MySQL教程-基础篇-1.1-Wind ...
- [MySQL 5.1 体验]MySQL 实例管理器 mysqlmanager 初试
原贴:http://imysql.cn/node/313 [MySQL 5.1 体验]MySQL 实例管理器 mysqlmanager 初试 周二, 2007/06/19 - 22:10 - yejr ...
随机推荐
- Struts1.3——登录案例的改进
在上篇写的用户登录验证案例的基础上进一步改进. 1.在登录成功后的welcome.jsp页面显示登录成功的用户名 思路1:在LoginAction中,将username放入request的域对象中 因 ...
- Zookeeper安装配置及简单使用
我使用的CentOS 7阿里云服务器,ZK依赖JDK,需要先安装jdk并配置jdk环境变量. 1.安装wget: yum –y install wget 2.下载Zookeeper(http://mi ...
- Mysql 生成随机数字
其实思路很简单,利用MySQL现有的函数,然后进行加工处理,达到预期的结果.可以用到的MySQL函数为rand() ,以及 round() 函数. 具体为:select round(rand()*10 ...
- html - body标签中相关标签
body标签中相关标签 今日内容: 字体标签: h1~h6.<font>.<u>.<b>.<strong><em>.<sup> ...
- linux/unix下setuid/seteuid/setreuid/setresuid
其中setresuid()具有最清晰的语法: setresuid()被执行的条件有: ①当前进程的euid是root ②三个参数,每一个等于原来某个id中的一个 如果满足以上条件的任意一个,setre ...
- linux下如何挂载磁盘
1.显示磁盘使用情况:#df 2.显示磁盘:#fdisk -l 3.格式化分区:#mkfs.ext4 /dev/vdb1 //注:将/dev/vdb1格式化为ext4类型(文件类型 ...
- 【记录】Nginx错误could not build the server_names_hash you should increase server_names_hash_bucket_size: 32
今天遇到这个错误,现记录下解决方案: 在nginx的配置文件的http段中增加如下配置: server_names_hash_bucket_size 64; 下面是nginx官方文档解释: 如果定义了 ...
- 【学术篇】SPOJ GEN Text Generator AC自动机+矩阵快速幂
还有5天省选才开始点字符串这棵技能树是不是太晚了点... ~题目の传送门~ AC自动机不想讲了QAQ.其实很久以前是学过然后打过板子的, 但也仅限于打过板子了~ 之前莫名其妙学了一个指针版的但是好像不 ...
- js 搞点小事情
<script type="text/javascript"> (function(){ if(!window.console){window.console ={lo ...
- PHP多参数方法的重构
假设我们要完成一个保存文章的功能,如果采用函数编程的方式,大概会是下面这个样子: <?php function saveArticle($title, $content, $categoryId ...