日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

超简单的mysql多实例布置

發(fā)布時(shí)間:2025/3/8 数据库 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 超简单的mysql多实例布置 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、基本概念
mysql下載:http://mirrors.sohu.com/mysql/MySQL-5.5/
1、MySQL多實(shí)例
就是在一臺(tái)機(jī)器上面開啟多個(gè)不同的端口,運(yùn)行多個(gè)MySQL服務(wù)進(jìn)程。這些MySQL多實(shí)例公用一套安裝程序,使用不同的(也可以是相同的)配置文件,啟動(dòng)程序,數(shù)據(jù)文件。在提供服務(wù)時(shí)候,多實(shí)例MySQL在邏輯上看來是各自獨(dú)立的,多個(gè)實(shí)例的自身是根據(jù)配置文件對(duì)應(yīng)的設(shè)定值,來取得相關(guān)硬件資源的多少。
2、應(yīng)用場(chǎng)景
1.采用了數(shù)據(jù)偽分布式架構(gòu)的原因,而項(xiàng)目啟動(dòng)初期又不一定有那多的用戶量,為此先一組物理數(shù)據(jù)庫(kù)服務(wù)器,但部署多個(gè)實(shí)例,方便后續(xù)遷移

  • 為規(guī)避mysql對(duì)SMP架構(gòu)不支持的缺陷,使用多實(shí)例綁定處理器的辦法,把不同的數(shù)據(jù)庫(kù)分配到不同的實(shí)例上提供數(shù)據(jù)服務(wù)
  • 一臺(tái)物理數(shù)據(jù)庫(kù)服務(wù)器支撐多個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù)服務(wù),為提高mysql復(fù)制的從機(jī)的恢復(fù)效率,采用多實(shí)例部署
  • 已經(jīng)為雙主復(fù)制的mysql數(shù)據(jù)庫(kù)服務(wù)器架構(gòu),想部分重要業(yè)務(wù)的數(shù)據(jù)多一份異地機(jī)房的熱備份,而mysql復(fù)制暫不支持多主的復(fù)制模式,且不給用戶提供服務(wù),為有效控制成本,會(huì)考慮異地機(jī)房部署一臺(tái)性能超好的物理服務(wù)器,甚至外加磁盤柜的方式,為此也會(huì)部署多實(shí)例;
  • 傳統(tǒng)游戲行業(yè)的MMO/MMORPG,以及Web Game,每一個(gè)服都對(duì)應(yīng)一個(gè)數(shù)據(jù)庫(kù),而可能要做很多數(shù)據(jù)查詢和數(shù)據(jù)訂正的工作,為減少維護(hù)而出錯(cuò)的概率,也可能采用多實(shí)例部署的方式,按區(qū)的概念分配數(shù)據(jù)庫(kù);
    3、作用與問題
    1、有效利用服務(wù)器的資源,單個(gè)服務(wù)器資源有剩余時(shí),可以充分利用剩余的資源提供更多的服務(wù)。
    2、資源互相爭(zhēng)搶問題,比如 內(nèi)存 ,cpu 需要開啟 numa,并把 mysql 綁定到固定的核心上,網(wǎng)卡的中斷請(qǐng)求,資源爭(zhēng)用,最重要的是磁盤 IO
  • 二、實(shí)戰(zhàn)步驟:
    1、同步時(shí)間
    2、準(zhǔn)備mysql依賴包
    3、環(huán)境準(zhǔn)備
    2.添加mysql用戶
    #3.編譯安裝mysql(我這里是mysql-5.5.33-linux2.6-x86_64.tar.gz)
    4、安裝MySQL多實(shí)例
    5、準(zhǔn)備配置文件
    6、啟動(dòng)MySQL
    7、登錄mysql與一些安全措施
    8、關(guān)閉MySQL
    9,、提供簡(jiǎn)易管理腳本
    10、為mysql的root用戶創(chuàng)建密碼

    1:同步時(shí)間:
    yum install -y ntp
    ntpdate 202.120.2.101
    hwclock -w
    2:準(zhǔn)備mysql依賴包
    yum install -y autoconf automake zlib libxml ncurses-devel libgcrypt libtool openssl
    yum install -y
    3、環(huán)境準(zhǔn)備
    3.1添加mysql用戶
    groupadd mysql
    useradd -g mysql mysql
    mkdir -pv /data/{3306,3307,3308}
    chown -R mysql.mysql /data/
    3.2: 解壓mysql安裝包并初始化mysql數(shù)據(jù)庫(kù)
    cd /usr/local
    tar zxvf mysql-5.5.33-linux2.6-x86_64.tar.gz

    ln -sv mysql-5.5.33-linux2.6-x86_64 mysql
    chown -R root.mysql mysql/*
    cd /usr/local/mysql
    scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/3306/
    scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/3307/
    scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/3308/
    3.3:準(zhǔn)備配置文件:
    mysqld_multi --example > /data/multi.cnf #提供多配置文件模板
    3.4:修改模板
    vim /data/multi.cnf
    [mysqld_multi]
    mysqld = /usr/local/mysql/bin/mysqld_safe
    mysqladmin = /usr/local/mysql/bin/mysqladmin
    user = root
    #password = my_password

    [mysqld1]
    socket = /tmp/mysql1.sock
    port = 3306
    pid-file = /data/3306/mysql.pid
    datadir = /data/3306/
    #language = /usr/local/mysql/share/mysql/english
    #user = unix_user1

    [mysqld2]
    #mysqld = /path/to/mysqld_safe
    #ledir = /path/to/mysqld-binary/
    #mysqladmin = /path/to/mysqladmin
    socket = /tmp/mysql2.sock
    port = 3307
    pid-file = /data/3307/mysql.pid
    datadir = /data/3307
    #language = /usr/local/mysql/share/mysql/swedish
    #user = unix_user2
    [mysqld3]
    socket = /tmp/mysql3.sock
    port = 3308
    pid-file = /data/3308/mysql.pid
    datadir = /data/3308/
    #language = /usr/local/mysql/share/mysql/estonia
    #user = unix_user3
    注釋:如果有一些配置需要改動(dòng)請(qǐng)?jiān)赱mysql#]下添加相應(yīng)的值就好了
    改變配置文件:
    cp /data/multi.cnf /etc/my.cnf
    啟動(dòng)mysql多實(shí)例:
    mysqld_multi start 1,2,3
    ss -tnul #查看監(jiān)聽端口
    LISTEN 0 50 :3306 :
    LISTEN 0 50 :3307 :
    LISTEN 0 50 :3308 :*
    、登錄mysql與一些安全措施

    mysql -S /tmp/mysql.sock1 #指定socket登錄

    mysql> show databases;
    +--------------------+
    | Database |
    +--------------------+
    | information_schema |
    | mysql |
    | performance_schema |
    | test |
    +--------------------+
    4 rows in set (0.01 sec)

    mysql> drop database test;
    Query OK, 0 rows affected (0.04 sec)

    mysql> select User,Host from mysql.user;
    +------+-----------+
    | User | Host |
    +------+-----------+
    | root | 127.0.0.1 |
    | root | ::1 |
    | | localhost |
    | root | localhost |
    | | node1 |
    | root | node1 |
    +------+-----------+
    6 rows in set (0.01 sec)

    mysql> delete from mysql.user where User='';
    Query OK, 2 rows affected (0.00 sec)

    mysql> delete from mysql.user where Host='::1';
    Query OK, 1 row affected (0.00 sec)

    mysql> delete from mysql.user where Host='node1';
    Query OK, 1 row affected (0.00 sec)
    其余的操作類似,就不在演示

    8、關(guān)閉MySQL

    mysqladmin -S /tmp/mysql.sock1 shutdown 建議使用
    musqld_multi --defaults-file stop [#,#]
    killall mysqld 不建議使用
    9,、提供簡(jiǎn)易管理腳本

    #!/bin/bash
    #
    basedir=/usr/local/mysql
    bindir=/usr/local/mysql/bin
    conf=/data/multi.cnf
    export PATH=$bindir:/$PATH
    if test -x $bindir/mysqld_multi
    then
    mysqld_multi="$bindir/mysqld_multi";
    else
    echo "Can't execute $bindir/mysqld_multi from dir $basedir";
    exit;
    fi
    case "$1" in
    'start' )
    "$mysqld_multi" --defaults-extra-file=$conf start $2
    ;;
    'stop' )
    "$mysqld_multi" --defaults-extra-file=$conf stop $2
    ;;
    'report' )
    "$mysqld_multi" --defaults-extra-file=$conf report $2
    ;;
    'restart' )
    "$mysqld_multi" --defaults-extra-file=$conf stop $2
    "$mysqld_multi" --defaults-extra-file=$conf start $2
    ;;
    *)
    echo "Usage: $0 {start|stop|report|restart}" >&2
    ;;
    esac
    10、為mysql的root用戶創(chuàng)建密碼

    mysqladmin -uroot -S /tmp/mysql.sock2 password "123456" #指定socket文件位置即可

    轉(zhuǎn)載于:https://blog.51cto.com/9025736/2061905

    總結(jié)

    以上是生活随笔為你收集整理的超简单的mysql多实例布置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。