1. 程式人生 > >【MySQL】一臺伺服器上搭建兩個mysql節點

【MySQL】一臺伺服器上搭建兩個mysql節點

環境:
CentOS 6.8 
memory:1G
Mysql 5.7 二進位制安裝包

1.安裝相關的環境包

yum -y install gcc glibc libaio libstdc++ libstdc ncurses-libs 

2.檢視系統中是否存在已經安裝的mysql,如果有的話,將其解除安裝掉

rpm -qa | grep mysql
rpm -e mysql    #普通刪除模式
rpm -e --nodeps mysql    #強力刪除模式

3.建立組和使用者

groupadd mysql
useradd -r -g mysql -s /bin/false myqsl

4.解壓mysql5.7二進位制安裝包

tar -xvf mysql-5.7.15-linux-glibc2.5-x86_64.tar.gz
mv /root/mysql-5.7.15-linux-glibc2.5-x86_64 /usr/local/mysql

5.建立相關目錄
mkdir -p /mydata/data330{6..7}
chown mysql.mysql /mydata -R

6.修改my.cnf檔案
vi /etc/my.cnf
 
[mysqld_multi]
mysqld     = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
#user       = root
#password   = rootpwd
 
[mysqld3306]    //這裡最好不要寫其他名稱,開始的時候我加了下劃線,但是命令無法識別
port = 3306
server_id = 3306
basedir =/usr/local/mysql
datadir =/mydata/data3306
socket =/tmp/mysql3306.sock  
log-error =/var/log/mysqld_3306.log
pid-file =/mydata/data3306/mysqld3306.pid
 
[mysqld3307]  
port = 3307
server_id = 3307
basedir =/usr/local/mysql
datadir =/mydata/data3307
socket =/tmp/mysql3307.sock  
log-error =/var/log/mysqld_3307.log
pid-file =/mydata/data3306/mysqld3307.pid

修改好後儲存退出

7.新增環境變數

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

8.初始化資料庫
bin/mysqld --initialize --user=mysql --datadir=/mydata/data3306 --basedir=/usr/local/mysql --explicit_defaults_for_timestamp
bin/mysqld --initialize --user=mysql --datadir=/mydata/data3307 --basedir=/usr/local/mysql --explicit_defaults_for_timestamp

這裡會提示一個臨時密碼,一定要記住!!


9.啟動兩個不同埠的mysql
mysqld_multi report 檢視下兩個服務

Reporting MySQL servers
No groups to be reported (check your GNRs)
這樣輸出的話,就證明/etc/my.cnf檔案配置錯誤了
例項沒有起來


Reporting MySQL servers
MySQL server from group: mysqld3306 is not running
MySQL server from group: mysqld3307 is not running

顯示的如上的話,證明例項已經識別了

在執行如下命令開啟例項
mysqld_multi start 3306,3307

再次檢視狀態
mysqld_multi report
MySQL server from group: mysqld3306 is running
MySQL server from group: mysqld3307 is running

檢視ps  aux | grep mysql
netstat -antpl | grep 330
 
如果有相關的程序,證明啟動成功

10.訪問資料庫
mysql -u root -p -S /tmp/mysql3306.sock  //這裡一定要指定sock檔案,否則啟動失敗的
Enter password:

mysql -u root -p -S /tmp/mysql3307.sock
Enter password:
 
11.修改root密碼
mysql -u root -p -S /tmp/mysql3307.sock
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
mysql> grant all privileges on *.* to [email protected]'192.168.1.%';
mysql> flush privileges;

同樣,登陸到另一個節點修改密碼
mysql -u root -p -S /tmp/mysql3306.sock 
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
mysql> grant all privileges on *.* to [email protected]'192.168.1.%';
mysql> flush privileges;

12.關閉某個例項
mysqladmin -uroot -prootpwd -S /tmp/mysql3306.sock shutdown

13.開啟自啟動
echo "/usr/local/mysql/bin/mysqld_multi --defaults-extra-file=/etc/my.cnf start 3306,3307" >> /etc/rc.local

相關推薦

MySQL伺服器搭建mysql節點

環境: CentOS 6.8  memory:1G Mysql 5.7 二進位制安裝包 1.安裝相關的環境包 yum -y install gcc glibc libaio libstdc++ libstdc ncurses-libs  2.檢視系統中是否存在已經安裝的

Jboss伺服器如何部署多jboss

一臺伺服器上如何部署多個jboss呢?直接把整個部署環境copy一份到相應的目錄下?這樣只是前提,但是啟動複製後的jboss就會發現,有很多埠被佔用3873,8080,8009,8443,8083,1098,1099,4444,4445,4446等很多埠都會提示already

通過Nginx反向代理,在伺服器配置域名

如果想在一臺伺服器上配置兩個域名,可以採用部署兩個Tomcat,分別繫結不同的埠,然後通過Nginx做反向代理,將兩個域名分別指向兩個Tomcat上。從而實現在一臺伺服器上配置兩個域名,或者多個域名的功能。配置方法如下:首先,通過配置Tomcat的server.xml,讓to

windows下如何在機器安裝MYSQL資料庫

第一個mysql的my.ini檔案預設是在如下路徑 C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.5\my.ini copy該ini檔案存放到E:\MySQL\mysql_base,這個路徑可以隨意定義,並修

伺服器配置多Tomcat 教程

在一臺伺服器上配置多個Tomcat,主要就是要避免Tomcat伺服器的埠衝突的問題。 只需要修改CATALINA_HOME\conf\server.xml中的啟動埠和連線埠就好了! 下面我們把配置的詳細過程寫在下面,以供參考:(此例以配置三個Tomcat為例) 1. 下載apache-to

Linux 伺服器併發TCP連線數(轉)

單臺伺服器上併發TCP連線數    問題:一臺伺服器到底能夠支援多少TCP併發連線呢?1. 檔案描述符限制:    對於伺服器來說,每一個TCP連線都要佔用一個檔案描述符,一旦檔案描述符使用完,新的連線到來返回給我們的錯誤是"Socket/File:

Java服務器配置多Tomcat

shu 找到 通過 下載 ref connect 解決方案 .gz header 需求緣由 最近接收了一個新的工具業務:ipublish發布系統,剛接手這個業務的時候,發現每次發布新的代碼 需要到群裏告知大家,我要停服務幾分鐘,準備更新代碼啦。這尼瑪 哪個公司

機器搭建redis例項的配置檔案修改部分

1、單個redis服務搭建請參考:redis服務搭建 2、一臺Redis伺服器,分成多個節點,每個節點分配一個埠(6380,6381…),預設埠是6379。 每個節點對應一個Redis配置檔案,如: redis6380.conf、redis6381.conf #cp redis.conf

電腦安裝TOMCAT伺服器

7. 修改startup.bat和catalina.bat檔案內容: (1) 開啟D:\Programming Tools\apache-tomcat-7.0.72-8081\bin\startup.bat檔案,把其中所有CATALINA_HOME替換為CATALINA_HOME_8081。 (2) 開啟D

如何在window建立多MySQL服務

所需環境: OS:windows  系統 DB:MySQL 下面我將第一個MySQL服務成為MySQL,第二個MySQL服務成為MySQL2 一、該PC已經安裝了一個MySQL(未安裝的請先安裝,此處不說第一個MySQL服務的安裝) 二、在服務中可以檢視MySQL服務,有

如何在伺服器實現多web站點(IIS方法)

Windows2000Server安裝成功後,一般會啟動一個預設的Web站點,為整個網路提供Internet服務。在中小型區域網中,伺服器往往只有一臺,但是一個Web站點顯然又無法滿足工作需要。那麼,能否在一臺伺服器上設定多個Web站點(以下我們簡稱為“一機多站”)呢?答案

機器搭建redis例項

預設Redis程式安裝在/usr/local/redis目錄下;配置檔案:/usr/local/redis/redis.conf,該配置檔案中配置的埠為預設埠:6379;Redis的啟動命令路徑:/usr/local/bin/redis-server。可以指定埠啟動多個Red

如何在電腦搭建tomcat

    在學習tomcat叢集時,免不了在本機搭建一個本地的tomcat叢集自己先玩一玩。如果直接解壓兩個tomcat分別進入bin目錄下啟動startup.bat,第一個tomcat可以啟動,第二個tomcat啟動失敗,檢視log中的錯誤,主要有三個問題: 1、8080埠

git學習筆記:電腦配置git賬戶

idt ica 項目 auth 開源中國 重復 gmail name 微軟 如何在一臺電腦上配置兩個git賬戶,現在雲端倉庫很多,有開源中國的 gitee.com 微軟的 github.com 還有 gitlab.com 和 bitbucket.org 等等,下面是具體步驟

linux 主機裝mysql

啟動 3306 nohup /usr/local/mysql5.1.7/bin/mysqld_safe &   啟動 3307/usr/local/mysql/bin/mysqld --defaults-file=/etc/my3307.cnf --user=mysql &

機器啟動tomcat埠號衝突問題

有時候我們需要在一臺機器上啟動多個專案,但是一個tomcat下啟動多個專案會導致除錯會出不可預期的問題,所以可以試著啟動兩個tomcat伺服器 步驟如下: 1.開啟tomcat的安裝目錄找到conf資料夾下的server.xml檔案 C:\Program Files\Apa

如何在電腦執行或多Tomcat

1)在系統環境變數中增加JAVA_HOME2=C:\Program Files\Java\jdk1.7.0_17 (同時,由於解決了其手動不能啟動的問題,故也順便將其解決方法中設定的路徑改為: 編輯startup.bat檔案,新增set JAVA_HOME2=C:\Program Files\Java\j

電腦執行或多tomcat

修改其中一個tomcat中的某些引數,為了避免啟動tomcat時出現衝突,編輯bin/startup.bat, 在檔案第一行新增如下兩行 SET JAVA_HOME=C:\websoft\jdk1.6.0_33 (JDK所在路徑) SET CATALINA_HOME=C:\test\tomcat222222

linux同時安裝mysql庫,使用不同埠

需求在一臺伺服器上部署兩臺MYSQL庫,預設是3306埠,第二庫使用3307埠 netstat -tlnap | grep mysql ps -ef| grep mysql 部署前: [[email protected] mysql3307]# ps -ef|gr

Linux-定時指令碼將伺服器mysql資料庫自動備份到另伺服器的資料庫中

有兩臺伺服器,一臺正式伺服器A,一臺測試伺服器B,現需要將正式伺服器A中的資料庫每天備份到測試伺服器B,提高資料庫的容災性以及防止資料庫在測試中出現錯誤。1.從正式伺服器A中匯出需要備份的資料庫使用mysqldump指令匯出資料庫檔案/usr/sbin/mysqldump -