日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

同一台服务器上面安装多个mysql数据库

發(fā)布時間:2025/7/14 62 豆豆
生活随笔 收集整理的這篇文章主要介紹了 同一台服务器上面安装多个mysql数据库 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

【前言】測試環(huán)境中經(jīng)常需要多臺mysql數(shù)據(jù)庫來進(jìn)行各種環(huán)境和場景的模擬,由于測試環(huán)境中的資源一般都是比較有限的,也就需要在一臺服務(wù)器上面搭建多個mysql數(shù)據(jù)庫來完成測試的需求。本文檔介紹在Centos6.4的環(huán)境中安裝多個mysql 5.7數(shù)據(jù)庫的操作方法。

【1】mysql數(shù)據(jù)庫軟件的安裝

mysql數(shù)據(jù)庫軟件官方提供了三種的安裝文件和方法,如下:

  • RPM方式安裝
  • 二進(jìn)制方式安裝
  • 源碼編譯安裝

雖然源碼安裝的方式比較麻煩,但是個人還是習(xí)慣用源碼的方案安裝,mysql5.7的安裝跟早起5.5的安裝方式和步驟也幾乎一樣所以這里就不再說明了。


【2】創(chuàng)建多個數(shù)據(jù)庫

軟件的安裝完成其實都是一樣的,就是創(chuàng)建數(shù)據(jù)庫的時候有點不一樣。

2.1 進(jìn)行數(shù)據(jù)文件目錄的規(guī)劃,本環(huán)境安裝了5個數(shù)據(jù)庫,在/data下面創(chuàng)建5個文件夾,并用端口號區(qū)分


點擊(此處)折疊或打開

  • [root@db01 data]# pwd
  • /data
  • [root@db01 data]# ll
  • drwxr-xr-x. 6 mysql mysql 4096 7月 8 05:00 mysql3306
  • drwxr-xr-x. 6 mysql mysql 4096 7月 20 21:46 mysql3307
  • drwxr-xr-x. 7 mysql mysql 4096 7月 20 21:46 mysql3308
  • drwxr-xr-x. 6 mysql mysql 4096 7月 20 21:46 mysql3309
  • drwxr-xr-x. 5 mysql mysql 4096 7月 20 21:46 mysql3310
  • 2.2 進(jìn)行參數(shù)文件的配置


    點擊(此處)折疊或打開

  • [root@db01 data]# vi /etc/my.cnf

  • [mysqld_multi]
  • mysqld = /usr/local/mysql/bin/mysqld_safe
  • #basedir = /usr/local/mysql
  • mysqladmin = /usr/local/mysql/bin/mysqladmin
  • user = mysql
  • pass = mysql
  • #password = mysql
  • #bindir = /usr/local/mysql/bin

  • [mysqld7]
  • port = 3307
  • socket = /tmp/mysql.sock7
  • pid-file = /data/mysql3307/hostname.pid7
  • datadir = /data/mysql3307
  • user = mysql
  • basedir = /usr/local/mysql
  • log-bin = /data/mysql3307/bin-log
  • server_id = 7
  • gtid_mode = ON
  • enforce-gtid-consistency=TRUE
  • log_slave_updates= ON
  • #skip-grant-tables

  • [mysqld8]
  • socket = /tmp/mysql.sock8
  • port = 3308
  • pid-file = /data/mysql3308/hostname.pid8
  • datadir = /data/mysql3308
  • user = mysql
  • basedir = /usr/local/mysql
  • #skip-grant-tables
  • log-bin = /data/mysql3308/bin-log
  • server_id=8
  • gtid_mode=ON
  • enforce-gtid-consistency=TRUE
  • log_slave_updates= ON

  • [mysqld9]
  • socket = /tmp/mysql.sock9
  • port = 3309
  • pid-file = /data/mysql3309/hostname.pid9
  • datadir = /data/mysql3309
  • user = mysql
  • basedir = /usr/local/mysql
  • #skip-grant-tables
  • log-bin = /data/mysql3309/bin-log
  • server_id= 9
  • gtid_mode=ON
  • enforce-gtid-consistency=TRUE
  • log_slave_updates= ON

  • [mysqld10]
  • socket = /tmp/mysql.sock10
  • port = 3310
  • pid-file = /data/mysql3310/hostname.pid10
  • datadir = /data/mysql3310
  • user = mysql
  • basedir = /usr/local/mysql
  • #skip-grant-tables
  • log-bin = /data/mysql3310/bin-log
  • server_id= 10
  • gtid_mode=ON
  • enforce-gtid-consistency=TRUE
  • log_slave_updates= ON

  • 2.3 創(chuàng)建數(shù)據(jù)庫,創(chuàng)建的過程中需要記錄數(shù)據(jù)庫的初始密碼

    依次創(chuàng)建其他數(shù)據(jù)庫,記錄默認(rèn)的隨機(jī)密碼

    • mysql3307的安裝

    點擊(此處)折疊或打開

  • [root@db01 data]# /usr/local/mysql/bin/mysqld --initialize --datadir=/data/mysql3307
  • 2017-07-20T14:31:01.890314Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
  • 2017-07-20T14:31:09.081679Z 0 [Warning] InnoDB: New log files created, LSN=45790
  • 2017-07-20T14:31:09.626403Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
  • 2017-07-20T14:31:09.867983Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 12d65efe-6d58-11e7-9d39-000c29a755d3.
  • 2017-07-20T14:31:09.873982Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
  • 2017-07-20T14:31:09.923044Z 1 [Note] A temporary password is generated for root@localhost: wAQ*p>.O:4,p
    • mysql3308的安裝
  • [root@db01 mysql3307]# cat auto.cnf
  • [auto]
  • server-uuid=12d65efe-6d58-11e7-9d39-000c29a755d3
  • [root@db01 mysql3307]# /usr/local/mysql/bin/mysqld --initialize --datadir=/data/mysql3308
  • 2017-07-20T14:32:36.027225Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
  • 2017-07-20T14:32:38.601806Z 0 [Warning] InnoDB: New log files created, LSN=45790
  • 2017-07-20T14:32:39.071963Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
  • 2017-07-20T14:32:39.167438Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 48106897-6d58-11e7-a1b9-000c29a755d3.
  • 2017-07-20T14:32:39.172770Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
  • 2017-07-20T14:32:39.212540Z 1 [Note] A temporary password is generated for root@localhost: Ak3XwQpb=ta0
    • mysql3309的安裝
  • [root@db01 mysql3307]# /usr/local/mysql/bin/mysqld --initialize --datadir=/data/mysql3309
  • 2017-07-20T14:33:32.801680Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
  • 2017-07-20T14:33:35.102950Z 0 [Warning] InnoDB: New log files created, LSN=45790
  • 2017-07-20T14:33:35.443411Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
  • 2017-07-20T14:33:35.557451Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 69acd736-6d58-11e7-a436-000c29a755d3.
  • 2017-07-20T14:33:35.562713Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
  • 2017-07-20T14:33:35.607109Z 1 [Note] A temporary password is generated for root@localhost: sDXL5hh61I>R
    • 數(shù)據(jù)庫mysql3310

    點擊(此處)折疊或打開

  • [root@db01 mysql3307]# /usr/local/mysql/bin/mysqld --initialize --datadir=/data/mysql3310
  • 2017-07-20T14:34:14.881243Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
  • 2017-07-20T14:34:17.227399Z 0 [Warning] InnoDB: New log files created, LSN=45790
  • 2017-07-20T14:34:17.744012Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
  • 2017-07-20T14:34:17.904000Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 82ea694b-6d58-11e7-a566-000c29a755d3.
  • 2017-07-20T14:34:17.908498Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
  • 2017-07-20T14:34:17.923365Z 1 [Note] A temporary password is generated for root@localhost: Rq4*Teq#l;Ve
  • 【3】修改數(shù)據(jù)庫的初始密碼

    先啟動數(shù)據(jù)庫


  • [root@db01 mysql3307]# /usr/local/mysql/bin/mysqld_multi start
  • 修改默認(rèn)密碼
  • [root@db01 mysql3307]# mysqladmin -u root -p -P 3307 -S /tmp/mysql.sock7 password
  • Enter password: 輸入默認(rèn)密碼
  • New password:
  • Confirm new password:
  • Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.

  • 登錄數(shù)據(jù)庫

    [root@db01 mysql3307]# mysql -P 3307 -S /tmp/mysql.sock7 -u root p


    用默認(rèn)的密碼登錄會有以下的提示信息:

    點擊(此處)折疊或打開

  • mysql> show databases;
  • ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

  • 【4】設(shè)置mysqld_multi stop的關(guān)閉權(quán)限

    默認(rèn)的情況下,不能通過mysqld_multi關(guān)閉數(shù)據(jù)庫,需要進(jìn)行額外的設(shè)置,步驟如下:

    創(chuàng)建mysql關(guān)閉的用戶
    點擊(此處)折疊或打開
  • [root@db01 mysql3307]# mysql -u root -p -P 3310 -S /tmp/mysql.sock10
  • Enter password:
  • mysql> grant shutdown on *.* to 'mysql'@'localhost' identified by 'mysql';
  • mysql> flush privileges
  • 設(shè)置參數(shù)文件的賬戶
    點擊(此處)折疊或打開
  • [root@db01 mysql3307]# cat /etc/my.cnf
  • [mysqld_multi]
  • mysqld = /usr/local/mysql/bin/mysqld_safe
  • #basedir = /usr/local/mysql
  • mysqladmin = /usr/local/mysql/bin/mysqladmin
  • user = mysql
  • pass = mysql

  • 通過以上的操作,便完成了在單臺服務(wù)器上面安裝多個mysql數(shù)據(jù)庫的操作;

    附加:常用的操作語句

    /usr/local/mysql/bin/mysqld_multi start #啟動所有的數(shù)據(jù)庫

    /usr/local/mysql/bin/mysqld_multi start 7 #啟動單臺數(shù)據(jù)庫

    /usr/local/mysql/bin/mysqld_multi stop #關(guān)閉所有的數(shù)據(jù)庫

    /usr/local/mysql/bin/mysqld_multi stop 7 #關(guān)閉單臺數(shù)據(jù)庫

    總結(jié)

    以上是生活随笔為你收集整理的同一台服务器上面安装多个mysql数据库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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