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