mysql 启动实例_启动多个mysql实例

本文介绍如何在CentOS 7及以上版本中手动部署MySQL服务,包括使用mysqld_safe命令启动服务、创建和配置my.cnf文件、初始化数据库等步骤,并提供通过systemctl管理MySQL服务的方法。
摘要由CSDN通过智能技术生成

如果使用./support-files/mysql.server 文件启动,则默认读取/etc/my.cnf 配置文件,这种方式有时候启动不了。

会提示报错 :The server quit without updating PID file。所以建议在CentOS 7 以上版本使用systemctl管理mysql。

所以我们使用启动命令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-- 1 root root 492 5月 19 12:55 my.cnf

清空该文件,写入如下配置 vim ./my.cnf,可以根据自己需求修改配置

其中[client]区域是mysql客户端的配置,二进制包默认读取 /etc/my.cnf (在编译时习惯指定该位置)

[client]

port= 3306socket= /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= 3306user=mysql

bind-address = 0.0.0.0sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

default-storage-engine =INNODB

lower_case_table_names= 1collation-server =utf8_general_ci

character-set-server =utf8

wait_timeout= 1200interactive_timeout= 1200

启动数据库

首先说明一点,如果安装目录不是/usr/local/mysql,则启动时可能要在mysql目录下启动才会成功,否则会启动失败。

/usr/local/mysql/bin/mysqld_safe --defaults-file=/usr/local/mysql/my.cnf

补充命令

因为启动多个mysql,所以我们指定了PID文件和套接字文件的位置,所以登录时要指定套接字或者ip+端口方式登录

/usr/local/mysql/bin/mysql -S /usr/local/mysql/data/mysql.sock -uroot -p/usr/local/mysql/bin/mysql -h 127.0.0.1 -P 3306 -uroot -p

关闭数据库,可以使用kill 直接将其杀死(守护进程和mysql进程都要杀死),但不推荐这种方式,建议使用mysqladmin命令

/usr/local/mysql/bin/mysqladmin -S /usr/local/mysql/data/mysql.sock -uroot -p shutdown

查看mysql状态

/usr/local/mysql/bin/mysqladmin -S /usr/local/mysql/data/mysql.sock -uroot -p ping

创建systenctl脚本

# /etc/systemd/system/mysqld.service

[Unit]

Description=MySQL database server

After=syslog.target

After=network.target

[Service]

User=mysql

Group=mysql

Environment="CONF=/usr/local/mysql/my.cnf"ExecStart=/usr/local/mysql/bin/mysqld_safe --defaults-file=${CONF}

TimeoutSec=300[Install]

WantedBy=multi-user.target

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值