安裝mysql與多例項安裝
阿新 • • 發佈:2018-11-28
安裝mysql(通用二進位制格式)
第一步:準備mysql的配置檔案(不再提供配置檔案模版)
首先需要從網路下載一個my.cnf檔案,放在/etc下
說明:
安裝位置:/usr/local/mysql
資料位置: /data/mysql/mysql3306/data
臨時檔案位置:/data/mysql/mysql3306/tmp
日誌檔案位置:/data/mysql/mysql3306/logs/mysql-bin
socket檔案位置:/tmp/mysql3306.sock
第二步:安裝mysql
# groupadd mysql # useradd -r -g mysql -s /sbin/nologin mysql # tar xf /root/mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz # mv mysql-5.7.23-linux-glibc2.12-x86_64 /usr/local/ # cd /usr/local # ln -sv mysql-5.7.23-linux-glibc2.12-x86_64/ mysql # chown mysql.mysql mysql -R
第三步:建立相關目錄
# mkdir /data/mysql/mysql3306/{data,tmp,logs} -pv
# chown -R mysql.mysql /data
第四步:初始化
(生成mysql的系統表和庫) # /usr/local/mysql/bin/mysqld --initialize --user=mysql 說明: 1. --user是用於指定以哪個使用者的身份完成初始化工作(預設從配置檔案中讀取) 2. 資料目錄下如果有檔案,會導致初始化失敗 初始化完成後,會在資料目錄下生成一系列檔案 # cd /data/mysql/mysql3306/data/ # ls auto.cnf error.log ib_buffer_pool ibdata1 ib_logfile0 ib_logfile1 ib_logfile2 mysql performance_schema slow.log sys 說明: error.log中儲存了安裝、啟動、執行mysql過程中所出現的錯誤資訊出,初始root密碼也在其中 獲取root的初始密碼 # cat /data/mysql/mysql3306/data/error.log | grep password 補充: 用--initialize-inseucre來做初始化的時候,root的初始密碼為空
第五步:啟動mysql
# /usr/local/mysql/support-files/mysql.server start
第六步:匯出二進位制
第七步:登入mysql
# mysql -uroot -p密碼
第八步:重置mysql的root密碼
mysql> ALTER USER user() IDENTIFIED BY "123"; >>>修改密碼 mysql> show databases; >>>顯示錶 +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+
第九步:生成服務管理指令碼
centos5、6
# cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
# chkconfig --add mysqld
# chkcongig mysqld on
# service msyqld start|stop....
centos7
# vim mysql3306.service
[Unit]
Description=mysql 3306 service
[Service]
Type=forking
ExecStart=/bin/bash /usr/local/mysql/support-files/mysql.server start
ExecStop=/bin/bash /usr/local/mysql/support-files/mysql.server stop
ExecRestart=/bin/bash /usr/local/mysql/support-files/mysql.server restart
[Install]
WantedBy=multi-user.target
# mv mysql3306.service /usr/lib/systemd/system/
# systemctl enable mysql3306.service
# systemctl start mysql3306.service
# ss -tnl | grep 3306
# systemctl stop mysql3306.service
# ss -tnl | grep 3306
多例項
單個mysql服務會隨著使用者訪問量增加導致效能急劇下降
提升伺服器的資源使用率
降低單個mysql服務的併發請求量
第二個mysql例項,配置如下
埠:3307
安裝位置: /usr/local/mysql
資料位置: /data/mysql/mysql3307/data
臨時檔案位置: /data/mysql/mysql3307/tmp
日誌檔案位置: /data/mysql/mysql3307/logs/mysql-bin
socket檔案位置:/tmp/mysql3307.sock
配置檔案: /data/mysql/mysql3307/my.cnf
第一步:建立相關目錄
# mkdir /data/mysql/mysql3307/{tmp,data,logs} -pv
# chown -R mysql.mysql /data
第二步:生成配置檔案
# cp /etc/my.cnf /data/mysql/mysql3307/
# sed -i 's/3306/3307/g' /data/mysql/mysql3307/my.cnf
# cat /data/mysql/mysql3307/my.cnf
第三步:初始化
# /usr/local/mysql/bin/mysqld --defaults-file=/data/mysql/mysql3307/my.cnf --initialize
第四步:啟動mysql
# /usr/local/mysql/bin/mysqld --defaults-file=/data/mysql/mysql3307/my.cnf &
第五步:登入多例項
# mysql -uroot -pc-7ae#sgan1K -S /tmp/mysql3307.sock(初始化後,密碼就有改變需要重新獲取初始密碼)
第三個mysql例項,配置如下
埠:3308
安裝位置: /usr/local/mysql
資料位置: /data/mysql/mysql3308/data
臨時檔案位置: /data/mysql/mysql3308/tmp
日誌檔案位置: /data/mysql/mysql3308/logs/mysql-bin
socket檔案位置:/tmp/mysql3308.sock
配置檔案: /data/mysql/mysql3308/my.cnf
第一步:建立相關目錄
# mkdir /data/mysql/mysql3308/{tmp,data,logs} -pv
# chown -R mysql.mysql /data
第二步:生成配置檔案
# cp /etc/my.cnf /data/mysql/mysql3308/
# sed -i 's/3306/3308/g' /data/mysql/mysql3308/my.cnf
# cat /data/mysql/mysql3308/my.cnf
第三步:複製模版生成系統資料庫檔案
# cd /data/mysql/
# cp mysql3306/data/* mysql3308/data/ -a
第四步:啟動例項
# /usr/local/mysql/bin/mysqld --defaults-file=/data/mysql/mysql3308/my.cnf &
# ss -tnl
第五步:登入例項
# mysql -uroot -pc-7ae#sgan1K -S /tmp/mysql3308.sock(使用模板的初始密碼)
關閉mysql
mysqladmin -uUserName -pPassword -hIP -Pport -S /path/to/socket shutdown