mysql單機多例項配置

2022-07-10 15:51:08 字數 3079 閱讀 6613

主機安排:

1.什麼是多例項:

在一台物理主機上執行多個資料庫服務,可以節約運維成本,提高硬體利用率

1)解壓軟體、修改目錄名

[root@mysql ~]#  wget

[root@mysql ~]#  tar -xvf mysql-5.7.28-linux-glibc2.12-i686.tar.gz

[root@mysql ~]#  mv mysql-5.7.28-linux-glibc2.12-i686 /usr/local/mysql

2)調整path變數

[root@mysql mysql]#  echo "export path=/usr/local/mysql/bin:$path"  

>> /etc/profile

[root@mysql mysql]# source /etc/profile

[root@mysql mysql]# echo $path

/usr/local/mysql/bin:/usr/local/mycat/bin:/usr/local/mycat/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin

3)編輯主配置檔案/etc/my.cnf

每個例項要有獨立的資料庫目錄、監聽埠號、例項名稱和獨立的sock檔案, 這裡只配置了基本啟動配置

[mysqld_multi]        //啟用多例項

mysqld = /usr/local/mysql/bin/mysqld_safe        //指定程序檔案路徑

mysqladmin = /usr/local/mysql/bin/mysqladmin    //指定管理命令路徑

user = root        //指定程序使用者

[mysqld1]        //例項程序名稱

port=3307        //埠號

datadir=/data3307        //資料庫目錄 ,要手動建立

socket=/data3307/mysqld.sock        //指定sock檔案的路徑和名稱

pid-file=/data3307/mysql1.pid        //程序pid號檔案位置

log-error=/data3307/mysql1.err        //錯誤日誌位置

[mysqld2]

port=3308

datadir=/data3308

socket=/data3308/mysqld.sock

pid-file=/data3308/mysql2.pid

log-error=/data3308/mysql2.err

4)建立資料庫目錄

[root@mysql mysql]# mkdir -p /data3307

[root@mysql mysql]# mkdir -p /data3308

5)建立程序執行的所有者和組 mysql

[root@mysql mysql]# useradd mysql

[root@mysql mysql]# chown mysql:mysql /data*

6)初始化授權庫

[root@mysql mysql]# mysqld --user=mysql --basedir=/usr/local/mysql

--datadir=/data3307 --initialize

...2018-09-26t07:07:33.443378z 1 [note] a temporary password is generated for root@localhost: 7l?vi!dgkmgu        //root使用者登入的初始化密碼

[root@mysql mysql]# mysqld --user=mysql --basedir=/usr/local/mysql

--datadir=/data3308 --initialize

...2018-09-26t07:08:07.770289z 1 [note] a temporary password is generated for root@localhost: kc)bbyup1a-b        //root使用者登入的初始化密碼

7)啟動多例項

[root@mysql mysql]# mysqld_multi start 1        //1為例項編號

[root@mysql mysql]# mysqld_multi start 2

8)檢視埠

[root@mysql mysql]# netstat -utnlp | grep :3307

tcp6 0 0 :::3307 :::* listen 21009/mysqld

[root@mysql mysql]# netstat -utnlp | grep :3308

tcp6 0 0 :::3308 :::* listen 21177/mysqld

[root@mysql mysql]# ps -c mysqld

pid tty time cmd

21009 pts/1 00:00:00 mysqld

21177 pts/1 00:00:00 mysqld

9)訪問多例項

使用初始化密碼登入多例項1(多例項2也是一樣操作)

[root@mysql mysql]# mysql -u root -p'7l?vi!dgkmgu' -s /data3307/mysqld.sock(例項sock程序)

mysql> alter user root@"localhost" identified by '123456';        //修改密碼

mysql> show databases;

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

| database |

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

| information_schema |

| mysql |

| performance_schema |

| sys |

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

4 rows in set (0.00 sec)

mysql單機多例項 MYSQL單機多例項

一 建立安裝目錄 mkdir usr local mysql s 5.6.32 mkdir usr local mysql m 5.6.32 wget tar zxv f mysql 5.6.32.tar.gz 二 編譯命令 1 主編引數 cmake dcmake install prefix da...

MySQL 單機多例項

關於mysql 單機多例項的優缺點等介紹具體可以知乎一下或參考mysql單機多例項配置 實現單機多例項可以通過docker輕鬆做到,這裡主要是分享使用自帶工具mysqld multi的過程及兩個坑點 系統 ubuntu 16.04lts xenial 版本 percorna server 5.7.2...

mysql單機多例項

在資料庫伺服器上,可以架構多個mysql伺服器,進行單機多例項的讀寫分離 可以通過mysqld multi來進行多例項的管理,mysqld multi是用perl寫的指令碼,原理是通過mysql admin來進行多個資料庫的操作 多例項的配置檔案也有點不同,可以看作是多個mysql配置的集合 mys...