Linux下 mysql資料庫的多例項實現

2021-08-28 18:56:23 字數 3870 閱讀 9435

準備環境:

centos7 安裝 yum install mariadb-server

規劃實現多例項的目錄結構、

埠:3306,3307, 3308

每個例項存放資料庫的資料夾 /data/mysql

/data/mysql/3306/

在data/資料夾下建立mysql所需的資料資料夾

[root@centos7-5 data]# mkdir /data/mysql// -pv
參考系統安裝mysql後的家目錄所有者,所屬組的屬性

[root@centos7-5 data]# ll /var/lib/mysql/ -d

drwxr-xr-x 5 mysql mysql 177 sep 30 10:41 /var/lib/mysql/

[root@centos7-5 data]# ll /var/lib/mysql/

drwx------ 2 mysql mysql 4096 sep 30 10:41 mysql

srwxrwxrwx 1 mysql mysql 0 sep 30 10:41 mysql.sock

drwx------ 2 mysql mysql 4096 sep 30 10:41 performance_schema

drwx------ 2 mysql mysql 6 sep 30 10:41 test

修改例項資料庫的所有者,所屬組許可權

[root@centos7-5 data]# chown mysql:mysql mysql           ##修改例項資料庫的所有者,所屬組許可權
預設生成資料庫檔案的指令碼路徑:

[root@centos7-5 data]#rpm -ql mariadb-server

/usr/bin/mysql_install_db

[root@centos7-5 data]# /usr/bin/mysql_install_db --help ##檢視指令碼用法
[root@centos7-5 data]# /usr/bin/mysql_install_db --datadir=/data/mysql/3306/data ###生成資料庫檔案
[root@centos7-5 data]# /usr/bin/mysql_install_db --datadir=/data/mysql/3307/data ###生成資料庫檔案
[root@centos7-5 data]# /usr/bin/mysql_install_db --datadir=/data/mysql/3308/data ###生成資料庫檔案
準備配置檔案,並修改配置檔案

[root@centos7-5 mysql]# cp my.cnf /data/mysql/3306/etc/ ###拷貝配置檔案並修改
[root@centos7-5 mysql]# cp my.cnf /data/mysql/3307/etc/ ###拷貝配置檔案並修改
[root@centos7-5 mysql]# cp my.cnf /data/mysql/3308/etc/ ###拷貝配置檔案並修改
[mysqld]

port=3306

datadir=/data/mysql/3306/data

socket=/data/mysql/3306/socket/mysql.sock

[mysqld_safe]

log-error=/data/mysql/3306/log/mariadb.log

pid-file=/data/mysql/3306/pid/mariadb.pid                    ###配置檔案需要修改的內容,其它3307、3308例項同理都修改

準備啟動程式檔案

#!/bin/bash

port=3306

mysql_user="root"

mysql_pwd=""

cmd_path="/usr/bin"

mysql_basedir="/data/mysql"

mysql_sock="$/$/socket/mysql.sock"

function_start_mysql()

/mysqld_safe --defaults-file=$/$/etc/my.cnf &> /dev/null &

else

printf "mysql is running...\n"

exitfi}

function_stop_mysql()

/mysqladmin -u $ -p$ -s $ shutdownfi}

function_restart_mysql()

case $1 in

start)

function_start_mysql

;;stop)

function_stop_mysql

;;restart)

function_restart_mysql

;;*)

printf "usage: $/$/bin/mysqld \n"

esac

啟動檔案就是二進位制編譯安裝時在安裝包中的;support-files資料夾中的

[root@centos7-5 3306]# /bin/mysqld start                   ##啟動程式

listen 0 50 *:3306

[root@centos7-5 3306]# ../3307/bin/mysqld start       ##啟動程式

listen 0 50 *:3307

[root@centos7-5 3306]# ../3308/bin/mysqld start          ##啟動程式

listen 0 50 *:3308

mariadb [(none)]> show variables like "port";                 ##檢視當前資料庫連線埠

+---------------+-------+

| variable_name | value |

+---------------+-------+

| port | 3306 |

+---------------+-------+

設定開機自動啟動指令碼

[root@centos7-5 ~]# cp /data/mysql/3306/bin/mysqld /etc/init.d/mysql3306
[root@centos7-5 ~]#vim /etc/init.d/mysql3306

chkconfig:345 20 800

description: mysql 3306 ##新增這兩行

[root@centos7-5 ~]# chkconfig --add mysql3306 ##加入開機執行列表
或者; 在開機路徑裡新增啟動指令碼路徑 /etc/rc.local

/data/mysql/3306/bin/mysqld

補充:[root@centos7-5 ~]# rpm -ql mariadb-server ###二進位制程式路徑

/usr/libexec/mysqld

Linux 下mysql 資料庫的安裝

1.檢視系統中是否已經安裝過mysql rpm qa grep i mysql解除安裝已經安裝版本 yum remove package.rpm 刪除mysql配置檔案 find name mysql rm rf filename directoryname rm etc my.cnf 2.使用my...

linux下mysql資料庫的操作

本文主要針對linux下mysql資料庫的安裝,以及資料庫的建立和簡單的資料庫操作進行說明。mysql資料庫的安裝 資料庫的安裝分為原始碼安裝和rpm安裝。當然對於老手來說需要進行一些自定義的配置,那麼當然原始碼安裝的靈活性要高一些。但是這種安裝方式需要管理員自己處理好於系統的依賴關係。而rpm安裝...

linux下mysql資料庫的學習

部落格 解除安裝mysql 第一步1 sudoapt get autoremove purge mysql server 5.0 2 sudoapt get remove mysql server 3 sudoapt get autoremove mysql server 4 sudoapt get...