亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

CentOS下mysql多實例操作指南

發布時間:2020-06-07 19:25:25 來源:網絡 閱讀:8179 作者:maxhua 欄目:MySQL數據庫

Mysql工作中無處不在,無數次安裝,優化,一直沒有時間,整理進行歸檔,最近在做mysql的Dass服務,把最近遇到的問題,進行整理,梳理一份操作指南;供大家參考;

序言

Mysql多實例即一臺服務器上運行多個Mysql服務進程 ,開啟不同的服務端口,通過不同的socket 監聽不同的服務端口來提供各自的服務。

Mysql多例的好處:

  1、 有效利用服務器資源:通過多實例地配置,可以將服務器剩余的資源充分利用起來。
  2、 資源互相搶占問題:資源互相搶占問題,當某個服務實例服務并發很高時或者開啟慢查詢時,會消耗更多的內存、CPU、磁盤IO資源,導致服務器上的其他實例提供服務的質量下降。
  3、 節約資源。

部署多實例的兩種方式

  1. 使用多個配置文件啟動不同的進程來實現多實例,這種方式的優勢邏輯簡單,配置簡單,缺點是管理起來不太方便;
  2. 通過官方自帶的mysqld_multi使用單獨的配置文件來實現多實例,這種方式定制每個實例的配置不太方面,優點是管理起來很方便,集中管理;

同一開發環境下安裝兩個數據庫,必須處理以下問題

  • 配置文件安裝路徑不能相同
  • 數據庫目錄不能相同
  • 啟動腳本不能同名
  • 端口不能相同
  • socket文件的生成路徑不能相同

    Mysql多實例操作指南

    具體詳細參考官網 (https://dev.mysql.com/doc/refman/5.7/en/installing.html)

  • mysql的安裝方法有多種,如二進制安裝、源碼編譯安裝、yum安裝;
  • yum安裝都是默認路徑,不利于后期維護,安裝相對簡單;
  • 源碼安裝編譯的過程比較長,若沒有對源碼進行修改且要求使用mysql較高版本;
  • 建議使用二進制安裝。本文以二進制安裝mysql,且使用mysqld_mutil進行mysql多實例管理。

    環境準備

centos7 x64 參考地址:https://dev.mysql.com/downloads/mysql/
mysql 5.7.22(壓縮版)

  • 下載mysql
cd /usr/local  
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
  • 解壓安裝
tar -zxvf  mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz  
mv mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz  /usr/local/mysql

初始化用戶組及用戶

創建一個mysql用戶組及用戶,且這個用戶是不可登錄的
創建用戶組:groupadd mysql
創建不可登錄用戶:useradd -g mysql -s /sbin/nologin -d /opt/mysql mysql
查看下創建后的用戶信息:id msyql

 id mysql
uid=501(mysql) gid=501(mysql) groups=501(mysql)

創建相關目錄

cd /  
mkdir /data  
cd /data  
mkdir mysql  
cd mysql   
mkdir {mysql_3306,mysql_3307}  
cd /data/mysql/mysql_3306  
mkdir {data,log,tmp}  
cd /data/mysql/mysql_3307  
mkdir {data,log,tmp}

更改目錄權限

chown -R mysql:mysql /data/mysql/  
chown -R mysql:mysql /usr/local/mysql/  

添加環境變量

echo 'export PATH=$PATH:/usr/local/mysql/bin' >>  /etc/profile  
source /etc/profile   

CentOS下mysql多實例操作指南

檢查是否配置

cat /etc/profile

復制my.cnf文件到etc目錄(mysql 5.722沒有my-default.cnf ,需要自動手動創建或者之前的地方進行copy)

  • 自己創建
    vim /etc/my.cnf

    修改my.cnf

    將以下內容,全部替換 /etc/my.cnf中的內容(以下配置,已集成mysql主從配置)

[client]
port=3306
socket=/tmp/mysql.sock

[mysqld_multi] 
mysqld = /usr/local/mysql/bin/mysqld_safe 
mysqladmin = /usr/local/mysql/bin/mysqladmin 
log = /data/mysql/mysqld_multi.log 

[mysqld] 
user=mysql 
basedir = /usr/local/mysql 
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

[mysqld3306] 
mysqld=mysqld 
mysqladmin=mysqladmin 
datadir=/data/mysql/mysql_3306/data 
port=3306 
server_id=3306 
socket=/tmp/mysql_3306.sock 
log-output=file 
slow_query_log = 1 
long_query_time = 1 
slow_query_log_file = /data/mysql/mysql_3306/log/slow.log 
log-error = /data/mysql/mysql_3306/log/error.log 
log-bin = /data/mysql/mysql_3306/log/mysql3306_bin
binlog-ignore-db = mysql 

[mysqld3307] 
mysqld=mysqld 
mysqladmin=mysqladmin
datadir=/data/mysql/mysql_3307/data 
port=3307 
server_id=3307 
socket=/tmp/mysql_3307.sock 
log-output=file 
slow_query_log = 1 
long_query_time = 1 
slow_query_log_file = /data/mysql/mysql_3307/log/slow.log 
log-error = /data/mysql/mysql_3307/log/error.log 
log-bin = /data/mysql/mysql_3307/log/mysql3307_bin

replicate-ignore-db=mysql
relay-log = slave-relay-bin
relay-log-index = slave-relay-bin.index
read_only

初始化數據庫

初始化各個實例:初始化完后會在日志中生成密碼,記得保存,初始化密碼用到

cd /usr/local/mysql/

bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/mysql_3306/data/
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/mysql_3307/data/

##開啟各實例的SSL連接
bin/mysql_ssl_rsa_setup --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/mysql_3306/data/
bin/mysql_ssl_rsa_setup --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/mysql_3307/data/

PS:
--basedir:mysql的安裝目錄
--datadir:數據庫的數據文件目錄

查看數據庫是否初始化成功

cd /data/mysql/mysql_3306/data

CentOS下mysql多實例操作指南

設置啟動文件

cp /usr/local/mysql/support-files/mysqld_multi.server /etc/init.d/mysqld_multi

給予腳本可執行權限

chmod +x /etc/init.d/mysqld_multi

加入service服務管理

chkconfig --add mysqld_multi  

mysqld_multi進行多實例管理

  • 啟動全部實例:
    /usr/local/mysql/bin/mysqld_multi start  
  • 查看全部實例狀態:
    /usr/local/mysql/bin/mysqld_multi report  
  • 啟動單個實例:
    /usr/local/mysql/bin/mysqld_multi start 3306  
  • 停止單個實例:
    /usr/local/mysql/bin/mysqld_multi stop 3306  
  • 停止
    mysqld_multi stop 3306 --password=root
    #or 最好用這個
    mysqladmin -S /tmp/mysql_3306.sock -uroot -p shutdown
  • 查看單個實例狀態:
    /usr/local/mysql/bin/mysqld_multi report 3306  
  • 查看實例的監聽端口:
    ss -tulpn|grep mysqld

    CentOS下mysql多實例操作指南

    修改密碼

    mysql -S /tmp/mysql_3306.sock -p
  • 輸入之前記錄的密碼,進入進行密碼設置
set password=password('123456');
  • 使修改生效;或者重啟服務
flush privileges;

CentOS下mysql多實例操作指南

應用路徑:/data/web/wordpress

nginx 配置:/usr/local/openresty/nginx/conf/site-enable/help.conf

3307的就不寫了,你按照以上方法,進行操作;

設置遠程連接mysql:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;

FLUSH PRIVILEGES; 

其中,root 是用戶名,% 表示所有人都可以訪問,password是密碼,盡量不用使用root,安全很重要
如果你看到當前位置,你已經成功了,致敬在路上學習的小伙伴伴,與你一起知識總結;
如果感覺還不錯,就分享出去,后續給大家介紹,mysql主從操作構建;

mysql的經典工作操作指南;

Percona Toolkit

https://www.percona.com/downloads/percona-toolkit/LATEST/

percona-xtrabackup

https://www.percona.com/doc/percona-xtrabackup/2.1/xtrabackup_bin/incremental_backups.html#

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巴塘县| 宁都县| 廉江市| 共和县| 定州市| 余庆县| 通河县| 陇南市| 睢宁县| 天柱县| 景德镇市| 怀仁县| 信丰县| 茂名市| 时尚| 绥滨县| 高唐县| 平舆县| 雅安市| 汶川县| 防城港市| 道孚县| 永清县| 巴彦淖尔市| 石家庄市| 图们市| 祁门县| 密山市| 壶关县| 迭部县| 深水埗区| 紫金县| 乌海市| 西吉县| 扶绥县| 东港市| 延川县| 平湖市| 同仁县| 民权县| 晋宁县|