如果使用./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实例的更多相关文章

  1. CentOS 7.0 启动多个MySQL实例(mysql-5.7.21)

    Linux系统:CentOS-7.0 MySQL版本:5.7.21 Linux系统下启动多个MySQL实例,目前知道有两种方法,一种是通过官方提供的mysqld_multi.server来实现,但是我 ...

  2. 【MySQL】CentOS7中使用systemctl工具管理启动和停止MySQL

    centos7以前版本,可以使用这个/etc/init.d/mysqld start 来启动mysql 但是centos7之后,通过systemctl start mysqld.service 这个要 ...

  3. 如何安全地关闭MySQL实例

    如何安全地关闭MySQL实例 转载自:http://imysql.com/2014/08/13/mysql-faq-howto-shutdown-mysqld-fulgraceful.shtml 本文 ...

  4. Windows下多个Mysql实例配置主从(转)

    https://www.cnblogs.com/jpfss/p/8143720.html 序:     网上有很多类似的文章,也是各种百度出来的,但是对于多数刚开始接触MYSQL主从的小白来说,网上文 ...

  5. 同一台windows下配置安装多个mysql实例,实现主从同步

    一.安装多个mysql 参见: https://blog.csdn.net/wrh_csdn/article/details/80198795 https://www.cnblogs.com/qjoa ...

  6. 在docker中运行mysql实例

    Docker是一种新兴的虚拟化技术,能够一定程度上的代替传统虚拟机.下图是容器跟虚拟机的对比 对docker有个大致了解,学习docker断断续续,虽说学习不能急于求成,但断断续续学的话,浪费的碎片化 ...

  7. 存储总量达20T的MySQL实例,如何完成迁移?

    版权声明:本文由王亮原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/122 来源:腾云阁 https://www.qclou ...

  8. Windows上安装多个MySQL实例(转)

    在学习和开发过程中有时候会用到多个MySQL数据库,比如Master-Slave集群.分库分表,开发阶段在一台机器上安装多个MySQL实例就显得方便不少. 在 MySQL教程-基础篇-1.1-Wind ...

  9. [MySQL 5.1 体验]MySQL 实例管理器 mysqlmanager 初试

    原贴:http://imysql.cn/node/313 [MySQL 5.1 体验]MySQL 实例管理器 mysqlmanager 初试 周二, 2007/06/19 - 22:10 - yejr ...

随机推荐

  1. ztree 数组和树结构互转算法

    //树转化为数组transformToArrayFormat: function (setting, nodes) { if (!nodes) return []; var childKey = se ...

  2. Django框架(二十七)—— ContentType组件

    目录 ContentType组件 一.什么是ContentType组件 二.使用ContentType 三.使用场景总结 ContentType组件 一.什么是ContentType组件 conten ...

  3. jmeter 函数学习

    https://jmeter.apache.org/usermanual/functions.html#__threadNum

  4. python之合并多个字典或映射

    问题 现在有多个字典或者映射,你想将它们从逻辑上合并为一个单一的映射后执行某些操作, 比如查找值或者检查某些键是否存在. 解决方案 假如你有如下两个字典: a = {'x': 1, 'z': 3} b ...

  5. 聚合函数 -AVG/MAX/MIN/STDDEV/VARIANCE/SUM/COUNT/MEDIAN

    ------------------------------------------聚合函数--------------------------------------------- --1: AVG ...

  6. Codeforces 1105E 最大独立集 状态DP 中途相遇法

    题意:你有一个字符串, 有两种操作,一种是改变字符串,一种是某个用户询问这个字符串,如果一个用户每次查询字符串的时候都是他的用户名,他就会高兴.问最多有多少个用户会高兴? 题意:容易发现,在两个1操作 ...

  7. DLL 本地定义符号*****在函数****中导入

    把_DLL_ELOGEVENT  定义到你的工程预编译宏中 IPCLASSDLL_DLL https://bbs.csdn.net/topics/300140279

  8. linux 重启mysql redis等服务器

    redis重启 如果是用apt-get或者yum install安装的redis, 可以直接通过下面的命令停止/启动/重启 /etc/init.d/redis-server stop /etc/ini ...

  9. androidstudio 2.3.3 jni过程汇总(2):2、使用so文件

    2.使用so文件 1.在java文件中System.loadLibrary加载包,并且引入native方法. 2.在app/src/main/下新建jniLibs文件夹,将so包带arm文件夹形式导入 ...

  10. 编写Android.mk中的LOCAL_SRC_FILES的终极技巧(转)

    转自:http://blog.csdn.net/fu_zk/article/details/12836431 问题的引入 在使用NDK编译C/C++项目的过程中,免不了要编写Android.mk文件, ...