msyql多例項常見配置方案
1)多配置檔案部署方案
即本文主要講解的方案,通過配置多個配置檔案及多個啟動程式來實現的方案,
這是比較推薦的方法
2)單一配置檔案部署方案
mysql配置檔案樣例(msyql 手冊裡提到的方法)
[mysql_multi]
mysql =/usr/bin/mysql_safa
mysqladmin =/user/mysql.admin
[mysqld1]
socket =/user/lib/mysql.socket
port=3306
pid-file=/var/lib/mysql/mysql.pid
datadir=/var/lib/mysql/mysql
user =mysql
[mysqld2]
socket =/user/data/db1/mysql.socket
port=3307
pid-file=/mnt/data/db1/mysql.pid
datadir=/mnt/data/db1
user =mysql
skip-name-resolve
server-id=10
default-storage-engine-innob
innodb_buffer_pool_size=512m
innodb_additinal_mem_pool=10m
default_character_set=utf8
chacter_set_server-uft8
#read-only
relay-log-space-limit=3g
expire_logs_day=20
[mysqld3]
socket =/user/data/db1/mysql.socket
port=3308
pid-file=/mnt/data/db1/mysql.pid
datadir=/mnt/data/db1
user =mysql
skip-name-resolve
server-id=11
master-connect-retry=60
default-storage-engine-inndb
innodb_buffer_pool_size=1g
innodb_additinal_mem_pool=10m
default_character_set=utf8
chacter_set_server-uft8
#read-only
relay-log-space-limit=3g
expire_logs_day=20
啟動方法
mysql_multi --config-file=/data/mysql/my_muti.cnf start 1,2,3,4
備註:單一配置檔案的缺點是耦合性太高
多例項mysql資料庫的安裝和前文講解的單例項的安裝沒有任何區別,因此,讀者如果有前文單例項的安裝環境,那麼可以直接略過
操作過程
大家記得單例項的初始化命令麼?
mysql_install_db --user=mysql
如:mysql_install_db --datadir=/data/3306/data --user=mysql
為什麼要初始化資料庫?
a.初始話資料庫的目的就是建立基礎的資料檔案,例如:生成mysql資料表等
b.初始話後產看對應例項資料目錄,可以看到如下文字。
mysql不支援 MySQL不支援的特性
mysql 1 不支援物化檢視。2 不支援位圖索引。3 不支援並行查詢。4 不支援雜湊關聯,mysql的所有關聯都是巢狀迴圈關聯。不過,可以通過建立乙個雜湊索引來曲線實現。5 不允許對同一表同時進行查詢和更新。報錯 update tb1 as outer tb1 set cnt select cou...
mysql不支援top 支援limit
今天偶爾發現mysql居然不支援top語句,之前用hibernate記得用過top語句。原因是 mysql的確是不支援top語句,之前用的是hql語句,是hibernate幫你翻譯成mysql支援的語句的。通常hibernate的用法 select top 5 id,name,password fr...
MySQL不支援動態表名
今天寫乙個資料遷移的儲存過程,用到了動態表名,發現mysql不支援直接使用變數做表名。然後就用下面的方式來做了。drop procedure if exists p transfer data delimiter create procedure p transfer data begin decl...