Mysql:mysql多例項建立、配置檔案講解【四】

Amae發表於2020-12-05

1、配置檔案【msyql配置檔案:/etc/my.cof】

  • 初始化配置的作用
    • 影響資料庫的啟動
    • 影響到客戶端的功能
  • 初始化配置的方法
    • 初始化的配置檔案 【例如:/etc/my.cnf】
    • 啟動命令上進行設定【mysql的維護啟動:mysqld_safe的啟動方式】
    • 預編譯時設定【僅限於編譯安裝時設定】
  • mysql配置檔案:/etc/my.conf
    • [root@localhost etc]# cat /etc/my.cnf 
    • [mysqld]  #f服務端配置
    • user=mysql  #使用者
    • basedir=/application/mysql  #軟體安裝目錄
    • datadir=/data/mysql/data  #資料路徑
    • socket=/tmp/mysql.sock #sock檔案位置
    • server_id=6  #伺服器端id號
    • port=3306 #埠號
    • [mysql]  #客戶端配置
    • socket=/tmp/mysql.sock #socket檔案配置
    • 配置檔案格式:
      • [標籤]
      • xxx=xxx
      • [標籤]
      • xxx=xxx
        • 配置檔案歸類
          • 服務端
          • [msyqld]
          • [msyqld_safe]
          • [server]
          •  
          • [客戶端]
          • [msyql]
          • [mysqladmin]
          • [mysqldump]
          • [client]
    • 配置檔案的讀取順序
      • [root@localhost /]# mysql --help -verbose | grep my.cnf        【其他配置影響到mysql的配置需要檢查】     
      • /etc/my.cnf    /etc/mysql/my.cnf     /usr/local/mysql/etc/my.cnf     ~/.my.cnf 
    • 強制使用自定義配置檔案
      • [root@localhost /]# mysqld_safe --defaults-file=/tmp/aa.txt &
         

​​​​​​​2、多例項

  • 建立多例項多個目錄
  • ​​​​​​​[root@localhost /]# mkdir -p /data/330{7,8}/data
  • 準備多例項的配置檔案
    • 3307多例項配置檔案
      cat > /data/3307/my.cnf <<EOF
      [mysqld]
      basedir=/application/mysql
      datadir=/data/3307/data
      socket=/data/3307/mysql.sock
      log_error=/data/3307/mysql.log
      port=3307
      server_id=7
      log_bin=/data/3307/mysql-bin
      EOF
    • 3308多例項配置檔案
      cat > /data/3308/my.cnf <<EOF
      [mysqld]
      basedir=/application/mysql
      datadir=/data/3308/data
      socket=/data/3308/mysql.sock
      log_error=/data/3308/mysql.log
      port=3308
      server_id=8
      log_bin=/data/3308/mysql-bin
      EOF
      ​​​​​​​
  • 初始化資料庫
    • ​​​​​​​[root@localhost /]# mysqld --initialize-insecure  --user=mysql --datadir=/data/3307/data --basedir=/application/mysql   #初始化3307資料庫
    • ​​​​​​​[root@localhost /]# mysqld --initialize-insecure  --user=mysql --datadir=/data/3307/data --basedir=/application/mysql  #初始化3308資料庫
  • ​​​​​​​systemd管理多例項
    • ​​​​​​​[root@localhost /]# ​​​​​​​/etc/systemd/system   
    • [root@localhost system]# cp mysqld.service mysqld3307.service
    • [root@localhost system]# cp mysqld.service mysqld3308.service
       
    • 修改mysqld3307.service和mysqld3308.service的配置
      • [root@localhost system]# ​​​​​​​vim mysqld3307.service
        ExecStart=/application/mysql/bin/mysqld  --defaults-file=/data/3307/my.cnf            #修改檔案、 --defaults-file=檔案配置檔案地址
      • [root@localhost system]# ​​​​​​​vim mysqld3308.service
        ExecStart=/application/mysql/bin/mysqld  --defaults-file=/data/3308/my.cnf            #修改檔案、 --defaults-file=檔案配置檔案地址
  • ​​​​​​​​​​​​​​目錄授權
    • [root@localhost /]# chown -R mysql.mysql /data/*    
  • 啟動多例項
    • [root@localhost system]# systemctl start mysqld3307     #啟動mysql3307
    • [root@localhost system]# systemctl start mysqld3308    #啟動mysql3308
       
    • 啟動成功
    • [root@localhost system]# ps -aux | grep mysql
    • [root@localhost system]# netstat -lnp | grep mysql​​​​​​​

相關文章