(0.2.7)Mysql安裝——多實例安裝

環境:html

  centos7 + mysql5.7.26node

【1】查看依賴包mysql

  rpm -qa|grep libaio  #查看libaio 依賴包linux

    

  若是沒出現上圖,則運行下面語句,安裝依賴包sql

  yum -y install autoconf libaio bison ncurses-devel   #若是沒有出現上圖,則安裝(通常centos7有自帶)數據庫

【2】查看默認數據庫(根據版本不一樣)vim

  centos7默認會裝mariadb數據庫,6則是默認裝Mysql數據庫。centos

    rpm -qa|grep mariadb #centos7socket

    rpm -qa|grep mysql #centos6url

      

 

 

   若是出現了上圖,則運行下列語句,卸載自帶的 mariadb。

    rpm -e --nodeps  mariadb-libs-5.5.60-1.el7_5.x86_64  #用這個方式以此刪除全部的,若有依賴報錯可能須要先刪除另一個  

  建議的刪除方式:

    yum -y remove mariadb*

【3】系統方面的一些準備工做

  systemctl stop firewalld  #關閉防火牆

  systemctl disable firewalld  #禁止防火牆開機啓動

  getenforce  #查看selinux狀態

  vim /etc/selinux/config  #設置開機關閉selinux

    

 

 

 

 【4】構造mysql用戶、羣組、目錄、權限

  【4.1】構造用戶與羣組

groupadd mysql useradd -g mysql -s /sbin/nologin mysql    #建立Mysql用戶,但不容許其遠程實際登錄到系統

  【4.2】構造目錄 

mkdir -p /data/mysql/{mysql_3306,mysql_3307} mkdir /data/mysql/mysql_3306/{data,log,tmp} mkdir /data/mysql/mysql_3307/{data,log,tmp}

  【4.3】修改mysql相關目錄權限給mysql用戶

chown -R mysql:mysql /data chmod -R 755 /data

 

【5】複製解壓二進制文件到  

【5.1】上傳到 /data/mysql 目錄

  cd /data/mysql

  而後上傳文件,或者wget下載文件。

  結果以下圖

    

 

 【5.2】解壓mysql二進制包,設置環境變量

tar -zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
ln -s mysql-5.7.26-linux-glibc2.12-x86_64 mysql_basedir #原名稱太長了,建個軟鏈接
echo "export PATH=${PATH}:/data/mysql/mysql_basedir/bin">>/etc/profile #設置環境變量
source /etc/profile

 

【6】配置my.cnf文件

cd /data/mysql

vim my.cnf

 

[client] port=3306 socket=/tmp/mysql.sock [mysqld_multi] mysqld = /data/mysql/mysql_basedir/bin/mysqld_safe mysqladmin = /data/mysql/mysql_basedir/bin/mysqladmin log = /data/mysql/mysqld_multi.log [mysqld] user=mysql basedir = /data/mysql/mysql_basedir sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES [mysqld3306]  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 binlog_format = mixed log-bin = /data/mysql/mysql_3306/log/mysql3306_bin [mysqld3307] #下列4行參數,多實例中必須不一樣 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 binlog_format = mixed log-bin = /data/mysql/mysql_3307/log/mysql3307_bin
ln -s /data/mysql/my.cnf /etc/my.cnf chown -R mysql:mysql /data chmod -R 755 /data chown  mysql:mysql /etc/my.cnf chmod -R 755 /etc/my.cnf

 

【7】初始化多實例


#初始化多實例
mysqld --defaults-file=/data/mysql/my.cnf  --initialize --basedir=/data/mysql/mysql_basedir --user=mysql --datadir=/data/mysql/mysql_3306/data
mysqld --defaults-file=/data/mysql/my.cnf  --initialize --basedir=/data/mysql/mysql_basedir --user=mysql --datadir=/data/mysql/mysql_3307/data

#2個目錄均以下圖,就是成功了
  

 

 【8】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 查看單個實例狀態:/usr/local/mysql/bin/mysqld_multi report 3306
中止所有實例:/usr/local/mysql/bin/mysqld_multi stop # 須要在my.cnf中,統一配置好 [client]而後把user=root 換行 password=123456 帳戶信息輸入進去。不然會出現登陸失敗
#檢查端口監聽
netstat -an|grep mysql
#啓動所有實例 [root@mysql ~]# /usr/local/mysql/bin/mysqld_multi start [root@mysql ~]# /usr/local/mysql/bin/mysqld_multi report Reporting MySQL servers MySQL server from group: mysqld3306 is running MySQL server from group: mysqld3307 is running

#鏈接mysql
mysql -uroot -p -P3306 -S /tmp/mysql_3306.sock
mysql -uroot -p -P3307 -S /tmp/mysql_3307.sock

#關閉實例
mysqladmin -uroot -p -S /tmp/mysql_3306.sock -P3306 shutdown
mysqladmin -uroot -p -S /tmp/mysql_3307.sock -P3307 shutdown
 

 

 

參考:https://www.cnblogs.com/jpfss/p/8144630.html

參考:https://www.cnblogs.com/xuchenliang/p/6843990.html

相關文章
相關標籤/搜索