主機安排:
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...