這篇文章主要介紹“MySQL8.0.20單機多怎么部署”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“MySQL8.0.20單機多怎么部署”文章能幫助大家解決問題。
1.準備Linux環境(系統:CentOS7)
2.準備MySQL安裝包(版本:8.0.20)
3.安裝方式為:msyql解壓安裝
## 創建mysql目錄 mkdir -p /usr/app/mysql ## 移動到目錄下 cd /usr/app/mysql ## 使用xhell上傳文件到服務器 ## 解壓后重命名 tar -zxvf mysql-8.0.20-el7-x86_64.tar.gz mv mysql-8.0.20-el7-x86_64 mysql-8.0
## 創建各實例數據存放目錄
mkdir -p /usr/app/mysql/mysql-8.0/{3306,3307,3308}/data
## 創建各個mysql對應error日志
mkdir -p /usr/app/mysql/mysql-8.0/{3306,3307,3308}/log
touch /usr/app/mysql/mysql-8.0/3306/log/error.log
touch /usr/app/mysql/mysql-8.0/3307/log/error.log
touch /usr/app/mysql/mysql-8.0/3308/log/error.log
## 創建mysql用戶組及用戶
groupadd mysql
useradd -g mysql mysql
## 目錄歸屬賦權
chown -R mysql:mysql /usr/app/mysql# For advice on how to change settings please see # http://dev.mysql.com/doc/refman/8.0/en/server-configuration-defaults.html [client] default-character-set=utf8mb4 [mysqld] user=mysql basedir=/usr/app/mysql/mysql-8.0 lower_case_table_names=1 [mysqld_multi] mysqld=/usr/app/mysql/mysql-8.0/bin/mysqld_safe mysqladmin=/usr/app/mysql/mysql-8.0/bin/mysqladmin log=/usr/app/mysql/mysql-8.0/mysqld_multi.log # 3306 數據庫實例 [mysqld3306] port=3306 server_id=1 mysqld=mysqld mysqladmin=mysqladmin datadir=/usr/app/mysql/mysql-8.0/3306/data socket=/tmp/mysql_3306.sock log-error=/usr/app/mysql/mysql-8.0/3306/log/error.log pid-file=/usr/app/mysql/mysql-8.0/3306/mysql3306.pid ## skip-grant-tables #用于跳過密碼登錄 character_set_server=utf8mb4 init_connect='SET NAMES utf8mb4' lower_case_table_names=1 explicit_defaults_for_timestamp=true # 3307 數據庫實例 [mysqld3307] port=3307 server_id=2 mysqld=mysqld mysqladmin=mysqladmin datadir=/usr/app/mysql/mysql-8.0/3307/data socket=/tmp/mysql_3307.sock log-error=/usr/app/mysql/mysql-8.0/3307/log/error.log pid-file=/usr/app/mysql/mysql-8.0/3307/mysql3307.pid # lc_messages_dir=/usr/local/mysql/share/english ## 默認最大連接數設置 # max_connections=300 character_set_server=utf8mb4 init_connect='SET NAMES utf8mb4' lower_case_table_names=1 explicit_defaults_for_timestamp=true # 3308 數據庫實例 [mysqld3308] port=3308 server_id=3 mysqld=mysqld mysqladmin=mysqladmin datadir=/usr/app/mysql/mysql-8.0/3308/data socket=/tmp/mysql_3308.sock log-error=/usr/app/mysql/mysql-8.0/3308/log/error.log pid-file=/usr/app/mysql/mysql-8.0/3308/mysql3308.pid # lc_messages_dir=/usr/local/mysql/share/english character_set_server=utf8mb4 init_connect='SET NAMES utf8mb4' lower_case_table_names=1 explicit_defaults_for_timestamp=true
/usr/app/mysql/mysql-8.0/bin/mysqld --defaults-file=/etc/my.cnf --datadir=/usr/app/mysql/mysql-8.0/3306/data/ --initialize /usr/app/mysql/mysql-8.0/bin/mysqld --defaults-file=/etc/my.cnf --datadir=/usr/app/mysql/mysql-8.0/3307/data/ --initialize /usr/app/mysql/mysql-8.0/bin/mysqld --defaults-file=/etc/my.cnf --datadir=/usr/app/mysql/mysql-8.0/3308/data/ --initialize
注意記住臨時密碼,后面登錄時使用,例如:
2022-04-04T15:12:39.011998Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: sJH):ayhH5cW
2022-04-04T15:14:24.214337Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: <>y)qhyh/4E7
2022-04-04T15:15:32.283026Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: s7qrjzwqI<wd
添加了環境變量,操作系統才能夠自己找到mysql、mysqld_multi等命令的位置
## 在/etc/profile 文件末尾添加 export PATH=/usr/app/mysql/mysql-8.0/bin:$PATH ## 使環境變量生效 source /etc/profile
## 啟動mysql mysqld_multi --defaults-file=/etc/my.cnf start 3306 mysqld_multi --defaults-file=/etc/my.cnf start 3307 mysqld_multi --defaults-file=/etc/my.cnf start 3308 ## 查看mysql服務 mysqld_multi --defaults-file=/etc/my.cnf report
啟動不成功,查看 mysqld_multi.log 日志或各實例目錄下的錯誤日志
cat /usr/app/mysql/mysql-8.0/mysqld_multi.log
cat /usr/app/mysql/mysql-8.0/3306/log/error.log
## 服務器登錄 (注意:另外兩個實例同樣如此。) mysql -uroot -p -S /tmp/mysql_3306.sock ## 輸入上面初始化數據庫時的臨時密碼 ## 設置本地訪問密碼,例如:Mysql@123,注意密碼為高安保等級(例如大小寫和特殊字符的組合),不然無法使用其他操作 ALTER USER 'root'@'localhost' IDENTIFIED BY 'Mysql@123'; ## 進入mysql數據 use mysql; ## 更新root信息 update user set host='%' where user='root'; ## 刷新 flush privileges; # 授權root用戶可以遠程登陸 GRANT ALL ON *.* TO 'root'@'%'; ## 遠程連接設置 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'Mysql@123'; ## 刷新 flush privileges;
## 開放防火墻端口 firewall-cmd --zone=public --add-port=3306/tcp --permanent firewall-cmd --zone=public --add-port=3307/tcp --permanent firewall-cmd --zone=public --add-port=3308/tcp --permanent ## 查看開放端口 firewall-cmd --list-port ## 配置生效 firewall-cmd --reload
關于“MySQL8.0.20單機多怎么部署”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。