本文目錄一覽:
- 1、如何在一個linux伺服器上創建兩個mysql實例
- 2、linux下mysql資料庫備份工具有哪些
- 3、Linux下安裝Mysql多實例作為數據備份伺服器實現多主到一從多實例的備份
- 4、linux 系統可以安多個 mysql么?
如何在一個linux伺服器上創建兩個mysql實例
這個是MySQL多實例的使用,不算難,MySQL是單進程、多線程的服務。因此,多實例的意思就是多進程的意思,他們使用的資料庫文件,配置文件,都是獨立的,完全不相干哈。有興趣可以看看官方文檔,如果初級入門可以看使用MariaDB資料庫管理系統。linuxprobe.com/chapter-18.html 老劉的,入門還是夠了。。。區別不大
linux下mysql資料庫備份工具有哪些
1. mysqldump: 最早,也是最成熟的邏輯備份工具,是 MySQL 原生的用來備份整個資料庫實例、單個資料庫、單張表的邏輯備份工具, 上手簡單,學習成本幾乎為 0。備份簡單,恢復也簡單。
比如導出單個資料庫 ytt: mysqldump ytt /tmp/ytt.sql;
恢復也非常簡單:mysql /tmp/ytt.sql
缺點是備份速度慢。在整個備份過程中,是單線程運行;備份出來的數據集要恢復的話同樣也是單線程運行,恢復速度也慢。除非對同一時刻的所有表單獨備份出來,自己寫額外腳本進行多線程恢復。
2. mysqlpump:MySQL 5.7 GA 後推出的 mysqldump工具的增強版。可以對同一個數據集多個線程並發備份,備份速度很快。
其他缺點和 mysqldump 一樣。
3. MySQL Shell UTIL 對象附帶的備份工具:隨 MySQL 8.0.21 最新版本捆綁發布,自帶多線程備份以及多線程恢復功能, 可以直接替代 mysqldump/mysqlpump。
dump_instance/dumpInstance 用來多線程備份 MySQL 整個單機實例
dump_schemas/dumpSchemas 用來多線程備份 MySQL 單個資料庫
load_dump/loadDump 用來多線程恢復之前兩個工具導出的數據集文件
MySQL Shell UTIL 備份恢復工具具備如下特性:
1. 壓縮導出(默認壓縮演算法 zstd)
2. 數據集分塊導出,每塊 32M
3. 默認導出存儲過程、存儲函數、觸發器、事件、用戶、視圖
4. 默認 4 個線程導出
5. 默認進度展示
6. 默認字符集 utf8mb4
7. 默認開啟一致性導出
8. 默認表,視圖等定義導出為 SQL 語句
9. 默認數據導出為 TSV 格式數據
Linux下安裝Mysql多實例作為數據備份伺服器實現多主到一從多實例的備份
1、從MYSQL官方下載MYSQL的源碼版本【一定要是源碼版本】
2、按以下代碼鍵入LINUX命令行
複製代碼
代碼如下:
[注]
添加mysql組和用戶
#groupadd
mysql
#useradd
-g
mysql
mysql
[注]
解包到/usr/local
#
tar
-xzf
mysql-standard-4.1.9-pc-linux-gnu-i686.tar.gz
-C
/usr/local
[注]
建立軟鏈接,方便操作(此處給此連接命名為mysql001,也可為其它的名字)
#cd
/usr/local
#ln
-s
mysql-standard-5.0.15-linux-i686-glibc23
mysql001
#cd
mysql001
#scripts/mysql_install_db
#chown
-R
root
.
#chown
-R
mysql
data
#chgrp
-R
mysql
.
[注]
複製data,以供單版本多實例分配
#cp
-a
data
data_1
#cp
-a
data
data_2
[注]
添加多實例配置文件
#cd
/usr/local/mysql001/bin
#cat
my_multi.cnf
[注]
以下是my_multi.cnf的配置信息,可依此複製
[mysqld_multi]
mysqld
=
/usr/local/mysql001/bin/mysqld_safe
mysqladmin
=
/usr/local/mysql001/bin/mysqladmin
user
=
root
password
=
root
[mysqld1]
socket
=
/tmp/mysql_001.sock
port
=
3301
pid-file
=
/usr/local/mysql001/data_1/hostname.pid
datadir
=
/usr/local/mysql001/data_1
log
=
/usr/local/mysql001/data_1/hostname.log
user
=
mysql
#
slave
setting
server-id
=
2
master-host
=
192.168.1.85
master-port
=
3306
master-user
=
backup
master-password
=
123456
replicate-do-db
=
gs_database
replicate-do-db
=
gs_log
master-connect-retry=30
[mysqld2]
socket
=
/tmp/mysql_5_2.sock
port
=
3302
pid-file
=
/usr/local/mysql001/data_2/hostname.pid
datadir
=
/usr/local/mysql001/data_2
log
=
/usr/local/mysql001/data_2/hostname.log
user
=
mysql
#
slave
setting
server-id
=
3
master-host
=
192.168.1.69
master-port
=
3306
master-user
=
backup
master-password
=
123
replicate-do-db
=
gs_databaes
replicate-do-db
=
gs_log
master-connect-retry=30
CTRL+D退出。
複製代碼
代碼如下:
#vi
/etc/profile
#
添加系統環境變數。
export
MYSQL_HOME=/usr/local/mysql001/bin
export
PATH=$PATH:$MYSQL_HOME
重啟系統讓環境變數生效。
添加至開機自動啟動【此處可不添加,依個人情況決定是否需要設置開機自動啟動】
複製代碼
代碼如下:
vi
/etc/rc.local
#
添加
mysqld_multi
–defaults-extra-file=/usr/local/src/mysql_dir/bin/my_multi.cnf
start
1,2
3、其它一些技巧
#
訪問某個實例:
mysql
-u
root
-S
/tmp/mysql_5_1.sock
-p
#
設置各個實例密碼:
mysqladmin
-u
root
password
‘root’
-S
/tmp/mysql_5_1.sock
#
手動啟動各個實例:
mysqld_multi
–defaults-extra-file=/usr/local/src/mysql_dir/bin/my_multi.cnf
start
1,2
#
停止各個實例:
mysqld_multi
–defaults-extra-file=/usr/local/src/mysql_dir/bin/my_multi.cnf
stop
1,2
#
參考文章
由於第一次接觸LINUX,花了三天時間才算有所成就,發出來希望可以給大夥帶來方便
linux 系統可以安多個 mysql么?
可以只安裝一個mysql。使用一套mysql程序,多個mysql的啟動程序,使用多個埠,就是多實例。按一個mysql當多個用。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/309725.html