共計 5935 個字符,預計需要花費 15 分鐘才能閱讀完成。
丸趣 TV 小編給大家分享一下 Mysql 數據庫多實例配置的示例分析,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
二進制安裝:[root@lufengcentos ~]# mkdir /home/lufeng/tools -p
[root@lufengcentos ~]# cd /home/lufeng/tools
[root@lufengcentos tools]# rz
[root@lufengcentos tools]# tar xf mysql-5.5.49-linux2.6-x86_64.tar.gz
[root@lufengcentos tools]# mkdir -p /application/mysql-5.5.49
[root@lufengcentos tools]# mv mysql-5.5.49-linux2.6-x86_64 /application/mysql-5.5.49
[root@lufengcentos tools]# groupadd mysql
[root@lufengcentos tools]# useradd mysql -g mysql -s /sbin/nologin -M
[root@lufengcentos tools]# ln -s /application/mysql-5.5.49/ /application/mysql
root@lufengcentos mysql]# sed -i s#/usr/local/mysql#/application/mysql#g /application/mysql/bin/mysqld_safe
創建多實例數據文件目錄
[root@Mysql-server_2 ~]# mkdir -p /data/{3306,3307}/data
配置相應的配置文件:[root@Mysql-server_2 ~]# cat /data/3306/my.cnf
####################################################
[client]
#password = your_password
port = 3306
socket = /data/3306/mysql.sock
[mysqld]
user = mysql
port = 3306
socket = /data/3306/mysql.sock
basedir = /application/mysql
datadir = /data/3306/data
pid-file = /data/3306/mysql.pid
relay-log = /data/3306/relay-bin
relay-log-info-file = /data/3306/relay-log.info
skip-external-locking
key_buffer_size = 16K
max_allowed_packet = 1M
table_open_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 128K
server-id = 1
[root@Mysql-server_2 ~]# cat /data/3307/my.cnf
#############################################
[client]
#password = your_password
port = 3307
socket = /data/3307/mysql.sock
[mysqld]
user = mysql
port = 3307
socket = /data/3307/mysql.sock
basedir = /application/mysql
datadir = /data/3307/data
pid-file = /data/3307/mysql.pid
relay-log = /data/3307/relay-bin
relay-log-info-file = /data/3307/relay-log.info
skip-external-locking
key_buffer_size = 16K
max_allowed_packet = 1M
table_open_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 128K
server-id = 2
if [ ! -e $mysql_sock ];then
printf Starting MySQL...\n
/bin/sh ${CmdPath}/mysqld_safe --defaults-file=/data/${port}/my.cnf 2 1 /dev/null
else
printf MySQL is running...\n
exit
fi
#stop function
function_stop_mysql(){ if [ ! -e $mysql_sock ];then
printf MySQL is stopped...\n
exit
else
printf Stoping MySQL...\n
${CmdPath}/mysqladmin -u ${mysql_user} -p${mysql_pwd} -S /data/${port}/mysql.sock shutdown
fi
#restart function
function_restart_mysql(){
printf Restarting MySQL...\n
function_stop_mysql
sleep 2
function_start_mysql
case $1 in
start)
function_start_mysql
stop)
function_stop_mysql
restart)
function_restart_mysql
printf Usage: /data/${port}/mysql {start|stop|restart}\n
##########################################################
[root@Mysql-server_2 ~]# cat /data/3307/mysql
#!/bin/sh
################################
#mysql 3307 by lufeng @2017.4.3
################################
port=3307
mysql_user= root
mysql_pwd= 199429
CmdPath= /application/mysql/bin
mysql_sock= /data/${port}/mysql.sock
#startup function
function_start_mysql()
if [ ! -e $mysql_sock ];then
printf Starting MySQL...\n
/bin/sh ${CmdPath}/mysqld_safe --defaults-file=/data/${port}/my.cnf 2 1 /dev/null
else
printf MySQL is running...\n
exit
fi
#stop function
function_stop_mysql()
if [ ! -e $mysql_sock ];then
printf MySQL is stopped...\n
exit
else
printf Stoping MySQL...\n
${CmdPath}/mysqladmin -u ${mysql_user} -p${mysql_pwd} -S /data/${port}/mysql.sock shutdown
fi
#restart function
function_restart_mysql()
printf Restarting MySQL...\n
function_stop_mysql
sleep 2
function_start_mysql
case $1 in
start)
function_start_mysql
stop)
function_stop_mysql
restart)
function_restart_mysql
printf Usage: /data/${port}/mysql {start|stop|restart}\n
#######################################################
配置多實例文件權限
[root@Mysql-server_2 ~]# chown -R mysql.mysql /data
[root@Mysql-server_2 ~]# find /data -name mysql|xargs chmod 700
[root@Mysql-server_2 ~]# find /data -name mysql -exec ls -l {} \;
-rwx------ 1 mysql mysql 999 4 月 3 13:33 /data/3306/mysql
-rwx------ 1 mysql mysql 1210 4 月 3 13:35 /data/3307/mysql
[root@Mysql-server_2 ~]# ls /application/mysql/bin/mysql
/application/mysql/bin/mysql
[root@Mysql-server_2 ~]# echo export PATH=/application/mysql/bin:$PATH /etc/profile
[root@Mysql-server_2 ~]# tail -1 /etc/profile
export PATH=/application/mysql/bin:$PATH
[root@Mysql-server_2 ~]# source /etc/profile
[root@Mysql-server_2 ~]# echo $PATH
/application/mysql/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
初始化數據庫文件
[root@Mysql-server_2 scripts]# cd /application/mysql/scripts/
[root@Mysql-server_2 scripts]# ./mysql_install_db --basedir=/application/mysql --datadir=/data/3306/data --user=mysql
[root@Mysql-server_2 scripts]# ./mysql_install_db --basedir=/application/mysql --datadir=/data/3307/data --user=mysql
Installing MySQL system tables...
170403 13:47:58 [Note] /application/mysql/bin/mysqld (mysqld 5.5.49) starting as process 2971 ...
Filling help tables...
170403 13:47:59 [Note] /application/mysql/bin/mysqld (mysqld 5.5.49) starting as process 2980 ...
============ 成功標志
啟動命令:[root@Mysql-server_2 ~]# /data/3306/mysql start
Starting MySQL...
[root@Mysql-server_2 ~]# /data/3307/mysql start
Starting MySQL...
[root@Mysql-server_2 ~]# netstat -lntup|grep mysql
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 3638/mysqld
tcp 0 0 0.0.0.0:3307 0.0.0.0:* LISTEN 3962/mysqld
配置開機自啟動:[root@Mysql-server_2 ~]# echo mysql multi instances /etc/rc.local
[root@Mysql-server_2 ~]# echo /data/3306/mysql start /etc/rc.local
[root@Mysql-server_2 ~]# echo /data/3307/mysql start /etc/rc.local
[root@Mysql-server_2 ~]# tail -3 /etc/rc.local
mysql multi instances
/data/3306/mysql start
/data/3307/mysql start
登錄:[root@lufengcentos ~]# mysql -S /data/3306/mysql.sock
安全配置:[root@lufengcentos ~]# mysqladmin -u root -S /data/3307/mysql.sock password 199429
[root@lufengcentos ~]# mysql -S /data/3306/mysql.sock -uroot -p
Enter password:
看完了這篇文章,相信你對“Mysql 數據庫多實例配置的示例分析”有了一定的了解,如果想了解更多相關知識,歡迎關注丸趣 TV 行業資訊頻道,感謝各位的閱讀!
正文完
發表至: 數據庫
2023-07-19