啓動多個mysql實例

若是使用./support-files/mysql.server 文件啓動,則默認讀取/etc/my.cnf 配置文件,這種方式有時候啓動不了mysql

報錯 :The server quit without updating PID filelinux

因此咱們使用啓動命令mysqld_safe啓動,多個實例只是重複下面的過程,更換目錄和端口便可,固然也有一個mysql軟件啓動多個實例的方法。sql

解壓mysql二進制包數據庫

useradd -r -s /sbin/nologin mysql
tar
xvf mysql-5.6.27-linux-glibc2.5-x86_64.tar.gz -C /opt
mv mysql-5.6.27-linux mysql && chown mysql.mysql -R /opt/mysql

初始化數據庫vim

該過程必須到安裝目錄以相對路徑去執行初始化命令。bash

yum -y install autoconf libaio*
cd /opt/mysql && scripts/mysql_install_db --user=mysql --datadir=/opt/mysql/data

建立配置文件socket

初始化完成後,默認會在./mysql/目錄下建立my.cnf的文件ui

-rw-r--r--  1 root  root     492 5月  19 12:55 my.cnf

清空該文件,寫入以下配置 vim ./my.cnf,能夠根據本身需求修改配置spa

[mysqld]
basedir = /opt/mysql
datadir = /opt/mysql/data
log-error = /opt/mysql/data/error.log
pid-file = /opt/mysql/data/mysql.pid
socket = /opt/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]
default_character_set = utf8

啓動數據庫code

爲了啓動方便,建立一個簡單的啓動腳本,首先說明一點,mysql啓動時要在mysql目錄下啓動纔會成功,不然會啓動失敗

#!/bin/bash
mysql_dir=/opt/mysql
cd ${mysql_dir}
/bin/sh ${mysql_dir}/bin/mysqld_safe --defaults-file=${mysql_dir}/my.cnf &>/dev/null &

將其添加到開機自啓

echo '/opt/mysql/start.sh' >> /etc/rc.local
chmod +x /etc/rc.d/rc.local 

補充命令

由於啓動多個mysql,因此咱們指定了PID文件和套接字文件的位置,因此登陸時要指定套接字或者ip+端口方式登陸

mysql -S /opt/mysql/data/mysql.sock -uroot -p
mysql -h 127.0.0.1 -P 3306 -uroot -p

關閉數據庫,能夠使用kill 直接將其殺死(守護進程和mysql進程都要殺死),但不推薦這種方式,建議使用mysqladmin命令

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

查看mysql狀態

/bin/mysqladmin -S /opt/mysql/data/mysql.sock  -uroot -p ping
相關文章
相關標籤/搜索