一、建立安裝目錄
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=/data/mysql-m-5.6.32 \
-dmysql_unix_addr=/data/mysql-m-5.6.32/mysql.sock \
-dsysconfdir=/data/mysql-m-5.6.32/etc \
-dmysql_datadir=/data/mysql-m-5.6.32/data \
-ddefault_charset=utf8 \
-ddefault_collation=utf8_general_ci \
-dwith_innobase_storage_engine=1 \
-dwith_archive_storage_engine=1 \
-dwith_blackhole_storage_engine=1 \
-dmysql_tcp_port=63306 \
-denable_downloads=0
2、從編譯引數
cmake -dcmake_install_prefix=/data/mysql-s-5.6.32 \
-dmysql_unix_addr=/data/mysql-s-5.6.32/mysql.sock \
-dsysconfdir=/data/mysql-s-5.6.32 \
-dmysql_datadir=/data/mysql-s-5.6.32/data \
-ddefault_charset=utf8 \
-ddefault_collation=utf8_general_ci \
-dwith_innobase_storage_engine=1 \
-dwith_archive_storage_engine=1 \
-dwith_blackhole_storage_engine=1 \
-dmysql_tcp_port=73306 \
-denable_downloads=0
重新執行配置,需要刪除cmakecache.txt檔案
rm cmakecache.txt
三、編譯
make
make install
四、修改目錄所有者和組
1、主庫:
cd /data/mysql-m-5.6.32
chown -r mysql:mysql .
2、從庫:
cd /data/mysql-s-5.6.32
chown -r mysql:mysql .
五、初始化資料庫
1、主庫:
cd /usr/local/mysql
sudo scripts/mysql_install_db --user=mysql --datadir=/data/mysql-m-5.6.32/data/ --basedir=/data/mysql-m-5.6.32/ --defaults-file=/data/mysql-m-5.6.32/my.cnf
2、從庫:
sudo scripts/mysql_install_db --user=mysql --datadir=/data/mysql-s-5.6.32/data/ --basedir=/data/mysql-s-5.6.32/ --defaults-file=/data/mysql-s-5.6.32/my.cnf
匯入成功後,會在 /data/mysql-s-5.6.32/ 或 /data/mysql-m-5.6.32/ (即資料庫主目錄)下自動生成乙個my.cnf 檔案,即配置檔案,將下面的舉例檔案,修改後新增進去就可以了。
[client]
character-set-server = utf8
port = 63306
socket = /data/mysql-m-5.6.32/mysql.sock
[mysqld]
user = mysql
port = 63306
socket = /data/mysql-m-5.6.32/mysql.sock
basedir = /data/mysql-m-5.6.32
datadir = /data/mysql-m-5.6.32/data
log-error = /data/mysql-m-5.6.32/mysql_error.log
pid-file = /data/mysql-m-5.6.32/mysql.pid
六、復**務檔案和新增到path
1、主服務
cp support-files/mysql.server /etc/init.d/mysqld-m
2、從服務
cp support-files/mysql.server /etc/init.d/mysqld-s
3、如果單機單映象,最好按著下面的,新增系統環境變數
cp support-files/mysql.server /etc/init.d/mysqld
vim /etc/profile
# 新增以下內容
path=/usr/local/mysql/bin:/usr/local/mysql/lib:$path
export path
source /etc/profile
七、啟動並加入開機啟動
chkconfig mysql-m on
service mysql-m start --啟動mysql
如果提示下面的錯誤:
error! the server quit without updating pid file (/data/mysql-s-5.6.32/mysql.pid).
用下面的命令啟動 sudo /etc/init.d/mysql-s start
八、檢查啟動情況
# 方法一
netstat -tulnp | grep 63306
# 方法二
mysql -u root -p 63306
# 活著sock登陸
mysql -uroot -p63306 -s /data/mysql-m-5.6.32/mysql.sock
密碼為空,如果能登陸上,則安裝成功
九、修改root密碼
在編譯後的etc目錄中
./mysqladmin -u root password '123456』 -p63306
十、相關錯誤
# 問題:
starting mysql..the server quit without updating pid file ([failed]/mysql/server03.mylinux.com.pid).
# 解決:
修改/etc/my.cnf 中datadir,指向正確的mysql資料庫檔案目錄
# 問題:
error 2002 (hy000): can't connect to local mysql server through socket '/tmp/mysql.sock' (2)
# 解決:
# 新建乙個鏈結或在mysql中加入-s引數,直接指出mysql.sock位置。
ln -s /usr/local/mysql/data/mysql.sock /tmp/mysql.sock
/usr/local/mysql/bin/mysql -u root -s /usr/local/mysql/data/mysql.sock
# mysql問題解決:-bash:mysql:command not found
# 因為mysql命令的路徑在/usr/local/mysql/bin下面,所以你直接使用mysql命令時,
# 系統在/usr/bin下面查此命令,所以找不到了
# 解決辦法是:
ln -s /usr/local/mysql/bin/mysql /usr/bin
# 或將路徑新增到環境變數中
付編譯引數說明
引數名含意
dcmake_install_prefix=dir_name
設定mysql安裝目錄
dmysql_unix_addr=file_name
設定監聽套接字路徑,這必須是乙個絕對路徑名。預設為/tmp/mysql.sock
ddefault_charset=charset_name
設定伺服器的字符集。預設情況下,mysql使用latin1的(cp1252西歐)字符集。cmake/character_sets.cmake檔案包含允許的字符集名稱列表
ddefault_collation=collation_name
設定伺服器的排序規則。
dwith_innobase_storage_engine=1 dwith_archive_storage_engine=1 dwith_blackhole_storage_engine=1 dwith_perfschema_storage_engine=1
儲存引擎選項:myisam,merge,memory,和csv引擎是預設編譯到伺服器中,並不需要明確地安裝。靜態編譯乙個儲存引擎到伺服器,使用dwith_engine_storage_engine= 1 可用的儲存引擎值有:archive, blackhole, example, federated, innobase (innodb), partition (partitioning support), 和perfschema (performance schema)
dmysql_datadir=dir_name
設定mysql資料庫檔案目錄
dmysql_tcp_port=port_num
設定mysql伺服器監聽埠,預設為3306
denable_downloads=bool
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...
mysql實踐 單機多例項
最近在學習mycat原始碼,有單台雲主機上要跑多個例項的需求,參考了以下的文章 4.修改my.cnf vim usr local mysql etc my.cnf 注釋以下內容 client password your password port 3306 socket tmp mysql.sock...