MySQL8.0.20單機(jī)多實(shí)例部署步驟
0.環(huán)境需要
1.準(zhǔn)備Linux環(huán)境(系統(tǒng):CentOS7)
2.準(zhǔn)備MySQL安裝包(版本:8.0.20)
3.安裝方式為:msyql解壓安裝
1.安裝步驟
1.下載解壓安裝的mysql安裝包文件
下載地址:https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.20-el7-x86_64.tar.gz
2.上傳解壓縮(我這里的上傳為:xhell,當(dāng)然也可使用其他方式)
## 創(chuàng)建mysql目錄 mkdir -p /usr/app/mysql ## 移動(dòng)到目錄下 cd /usr/app/mysql ## 使用xhell上傳文件到服務(wù)器 ## 解壓后重命名 tar -zxvf mysql-8.0.20-el7-x86_64.tar.gz mv mysql-8.0.20-el7-x86_64 mysql-8.0
3.在mysql目錄創(chuàng)建創(chuàng)建數(shù)據(jù)文件存放路徑并賦權(quán)
## 創(chuàng)建各實(shí)例數(shù)據(jù)存放目錄 mkdir -p /usr/app/mysql/mysql-8.0/{3306,3307,3308}/data ## 創(chuàng)建各個(gè)mysql對(duì)應(yīng)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 ## 創(chuàng)建mysql用戶組及用戶 groupadd mysql useradd -g mysql mysql ## 目錄歸屬賦權(quán) chown -R mysql:mysql /usr/app/mysql
4.配置my.cnf文件
# 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 數(shù)據(jù)庫(kù)實(shí)例 [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 數(shù)據(jù)庫(kù)實(shí)例 [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 ## 默認(rèn)最大連接數(shù)設(shè)置 # max_connections=300 character_set_server=utf8mb4 init_connect='SET NAMES utf8mb4' lower_case_table_names=1 explicit_defaults_for_timestamp=true # 3308 數(shù)據(jù)庫(kù)實(shí)例 [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
5.初始化各實(shí)例數(shù)據(jù)庫(kù)
/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
注意記住臨時(shí)密碼,后面登錄時(shí)使用,例如:
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
6.設(shè)置msyql環(huán)境變量
添加了環(huán)境變量,操作系統(tǒng)才能夠自己找到mysql、mysqld_multi等命令的位置
## 在/etc/profile 文件末尾添加 export PATH=/usr/app/mysql/mysql-8.0/bin:$PATH ## 使環(huán)境變量生效 source /etc/profile
7.啟動(dòng)與查看 mysql 服務(wù)(需指定配置文件)
## 啟動(dòng)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服務(wù) mysqld_multi --defaults-file=/etc/my.cnf report
啟動(dòng)不成功,查看 mysqld_multi.log 日志或各實(shí)例目錄下的錯(cuò)誤日志
cat /usr/app/mysql/mysql-8.0/mysqld_multi.log
cat /usr/app/mysql/mysql-8.0/3306/log/error.log
8.設(shè)置遠(yuǎn)程訪問密碼
## 服務(wù)器登錄 (注意:另外兩個(gè)實(shí)例同樣如此。) mysql -uroot -p -S /tmp/mysql_3306.sock ## 輸入上面初始化數(shù)據(jù)庫(kù)時(shí)的臨時(shí)密碼 ## 設(shè)置本地訪問密碼,例如:Mysql@123,注意密碼為高安保等級(jí)(例如大小寫和特殊字符的組合),不然無法使用其他操作 ALTER USER 'root'@'localhost' IDENTIFIED BY 'Mysql@123'; ## 進(jìn)入mysql數(shù)據(jù) use mysql; ## 更新root信息 update user set host='%' where user='root'; ## 刷新 flush privileges; # 授權(quán)root用戶可以遠(yuǎn)程登陸 GRANT ALL ON *.* TO 'root'@'%'; ## 遠(yuǎn)程連接設(shè)置 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'Mysql@123'; ## 刷新 flush privileges;
9.防火墻開啟訪問端口(獲取關(guān)閉防火墻)
## 開放防火墻端口 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單機(jī)多實(shí)例安裝步驟采坑記錄。
到此這篇關(guān)于MySQL8.0.20單機(jī)多實(shí)例部署步驟的文章就介紹到這了,更多相關(guān)MySQL 單機(jī)多實(shí)例內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Mysql中mvcc各場(chǎng)景理解應(yīng)用
這篇文章主要為大家介紹了Mysql中mvcc各場(chǎng)景理解應(yīng)用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08Node.js下向MySQL數(shù)據(jù)庫(kù)插入批量數(shù)據(jù)的方法
這篇文章主要介紹了Node.js下向MySQL數(shù)據(jù)庫(kù)插入批量數(shù)據(jù)的實(shí)現(xiàn)方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-10-10導(dǎo)致MySQL索引失效的一些常見寫法總結(jié)
這篇文章主要給大家介紹了關(guān)于導(dǎo)致MySQL索引失效的一些常見寫法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09MySQL日期格式化yyyy-mm-dd詳解(DATE_FORMAT()函數(shù))
MySQL提供了很多功能強(qiáng)大、方便易用的函數(shù),在進(jìn)行數(shù)據(jù)庫(kù)管理以及數(shù)據(jù)的查詢和操作時(shí),幫助我們提高對(duì)數(shù)據(jù)庫(kù)的管理效率,下面這篇文章主要給大家介紹了關(guān)于MySQL日期格式化yyyy-mm-dd(DATE_FORMAT()函數(shù))的相關(guān)資料,需要的朋友可以參考下2023-01-01詳談mysqldump數(shù)據(jù)導(dǎo)出的問題
下面小編就為大家?guī)硪黄斦刴ysqldump數(shù)據(jù)導(dǎo)出的問題。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-03-03SQL中l(wèi)imit函數(shù)語(yǔ)法與用法(MYSQL獲取限制某行數(shù)據(jù))
limit是MySql的內(nèi)置函數(shù),一般用于查詢表中記錄的條數(shù),作用是用于限制查詢條數(shù),下面這篇文章主要給大家介紹了關(guān)于SQL中l(wèi)imit函數(shù)語(yǔ)法與用法的相關(guān)資料,詳細(xì)講了MYSQL獲取限制某行數(shù)據(jù)的方法,需要的朋友可以參考下2022-08-08Linux自動(dòng)備份MySQL數(shù)據(jù)庫(kù)腳本代碼
下面這段Linux的Shell腳本用于每日自動(dòng)備份MySQL數(shù)據(jù)庫(kù),可通過Linux的crontab每天定時(shí)執(zhí)行2013-11-11