2019年2月27日
成都創(chuàng)新互聯(lián)公司基于成都重慶香港及美國(guó)等地區(qū)分布式IDC機(jī)房數(shù)據(jù)中心構(gòu)建的電信大帶寬,聯(lián)通大帶寬,移動(dòng)大帶寬,多線BGP大帶寬租用,是為眾多客戶提供專業(yè)服務(wù)器托管報(bào)價(jià),主機(jī)托管價(jià)格性價(jià)比高,為金融證券行業(yè)眉山聯(lián)通機(jī)房,ai人工智能服務(wù)器托管提供bgp線路100M獨(dú)享,G口帶寬及機(jī)柜租用的專業(yè)成都idc公司。
9:46
目錄
環(huán)境說(shuō)明:.2
一、單機(jī)部署.2
1.1、查詢系統(tǒng)是否自帶mariadb,如果有就卸載掉.2
1.2、配置離線yum源.3
1.3、升級(jí)systemd-libs包.4
1.4、安裝mariadb 4
1.5啟動(dòng)mariadb 5
1.6、MariaDB簡(jiǎn)單配置.6
1.7、MariaDB登陸.7
1.8、開(kāi)啟錯(cuò)誤日志.7
二、圖形管理界面phpmyadmin部署.10
2.1、安裝httpd、php和php-MySQL軟件.10
2.2、解壓軟件包.10
2.3、生成配置文件.10
2.4、開(kāi)啟高級(jí)功能.10
2.4.1、編輯配置文件.10
2.4.2、根據(jù)頁(yè)面提示執(zhí)行腳本.11
2.4.3、更新權(quán)限.13
2.4.4、重啟httpd服務(wù).15
三、集群安裝.17
3.1、必須配置的變量參數(shù).17
3.2、啟動(dòng)集群命令:.19
3.3、其他節(jié)點(diǎn)加入集群.20
3.4、查看集群狀態(tài).20
四、注意事項(xiàng).21
官方站點(diǎn):
https://mariadb.com/kb/zh-cn/
https://mariadb.org
官網(wǎng)學(xué)習(xí)鏈接:
https://mariadb.com/kb/en/library/getting-started-with-mariadb-galera-cluster/#installing-mariadb-galera-cluster
環(huán)境:VMware? Workstation 15 Pro
單機(jī)部署:CentOS7.1+Mariadb10.3.12+phpmyadmin4.0.10.20
說(shuō)明:客戶要求必須用CentOS7.1+Mariadb10.3.12的環(huán)境,CentOS 7.1上mariadb10.3.12的依賴包版本都需要升級(jí),所以直接從CentOS7.6上提取了最新的包,并配置離線yum源。
如果直接在CentOS7.6上安裝,則不需要做離線yum源,直接掛載系統(tǒng)鏡像做yum源就可以了。mariadb和phpmyadmin可以從官網(wǎng)免費(fèi)下載。
集群部署:三臺(tái)CentOS7.1虛擬機(jī)+Mariadb10.3.12+phpmyadmin4.0.10.20
IP地址: | 111.111.111.20 | 111.111.111.201 | 111.111.111.202 |
主機(jī)名:
hostnamectl set-hostname mariadb01
hostnamectl set-hostname mariadb02
hostnamectl set-hostname mariadb03
關(guān)閉防火墻&selinux
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
[root@localhost ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
[root@localhost ~]# setenforce 0
Rpm -qa查詢到有一個(gè)5.5.41版本的包,直接卸載
將準(zhǔn)備好的離線yum源包上傳到服務(wù)器,并配置yum源
由于服務(wù)器采用最小化安裝,所以還需要安裝createrepo命令
[root@localhost mariadb-10.3.12_yum_centos_offline]# rpm -ivh deltarpm-3.6-3.el7.x86_64.rpm
[root@localhost mariadb-10.3.12_yum_centos_offline]# rpm -ivh python-deltarpm-3.6-3.el7.x86_64.rpm
[root@localhost mariadb-10.3.12_yum_centos_offline]# rpm -ivh libxml2-2.9.1-5.el7_0.1.x86_64.rpm
[root@localhost mariadb-10.3.12_yum_centos_offline]# rpm -ivh libxml2-python-2.9.1-5.el7_0.1.x86_64.rpm
[root@localhost mariadb-10.3.12_yum_centos_offline]# rpm -ivh createrepo-0.9.9-23.el7.noarch.rpm
創(chuàng)建本地yum源倉(cāng)庫(kù)
執(zhí)行setup_repository之后會(huì)在/etc/yum.repos.d目錄下生成一個(gè)mariadb.repo,但是還是需要我們自己配置一下,否則該目錄下的其他repo文件會(huì)干擾yum離線源
由于centos7.1自帶的systemd-libs-208-20.el7.x86_64版本過(guò)低不支持Mariadb10.3.12版本,我們需要升級(jí)
[root@localhost ~]# yum install systemd-libs -y
前面已經(jīng)完成yum配置,這里直接安裝
[root@localhost yum.repos.d]# yum install mariadb-server -y
[root@localhost ~]# systemctl start mariadb
[root@localhost ~]# systemctl enable mariadb
[root@localhost ~]# systemctl status mariadb
[root@localhost ~]# mysql_secure_installation
先是設(shè)置密碼,會(huì)提示先輸入密碼
Enter current password for root (enter for none): <–初次運(yùn)行直接回車(chē)
設(shè)置密碼
Set root password? [Y/n] <–是否設(shè)置root用戶密碼,輸入y并回車(chē)或直接回車(chē)
New password: <–設(shè)置root用戶的密碼
Re-enter new password: <–再輸入一次你設(shè)置的密碼
其他配置
Remove anonymous users? [Y/n] <–是否刪除匿名用戶,Y,回車(chē)
Disallow root login remotely? [Y/n] <–是否禁止root遠(yuǎn)程登錄,N,回車(chē),
Remove test database and access to it? [Y/n] <–是否刪除test數(shù)據(jù)庫(kù),n,回車(chē)
Reload privilege tables now? [Y/n] <–是否重新加載權(quán)限表,回車(chē)
初始化MariaDB完成,接下來(lái)測(cè)試登錄
[root@localhost ~]# mysql -u root -p
默認(rèn)安裝路徑:/var/lib/mysql
mysql>show variables like '%log_err%'
可以看到?jīng)]開(kāi)啟錯(cuò)誤日志,我們可以選擇開(kāi)啟,并指定路徑,命令行修改會(huì)如下圖報(bào)錯(cuò),告訴我們是只讀參數(shù),那么只能修改server.cnf文件,然后重啟數(shù)據(jù)庫(kù)生效了。
重啟數(shù)據(jù)庫(kù)后參數(shù)生效:
[root@localhost ~]# yum install httpd php php-mysql -y
[root@localhost ~]# yum install php-mbstring -y
將下載好的軟件解壓到"/var/www/html"目錄下
[root@localhost iso]# tar -zxvf phpMyAdmin-4.0.10.20-all-languages.tar.gz -C /var/www/html/
[root@localhost iso]# cd /var/www/html/
[root@localhost html]# mv phpMyAdmin-4.0.10.20-all-languages mariadb
這里把目錄名稱修改簡(jiǎn)單點(diǎn),便于訪問(wèn)
進(jìn)入mariadb目錄,將"config.sample.inc.php"文件復(fù)制為"config.inc.php"。
[root@localhost mariadb]# cp config.sample.inc.php config.inc.php
將下圖中 /* Storage database and tables */后的高級(jí)參數(shù)全部開(kāi)啟
快速設(shè)置高級(jí)功能:
· 通過(guò) examples/create_tables.sql創(chuàng)建必需的數(shù)據(jù)表。
· 創(chuàng)建一個(gè)用戶并授予其訪問(wèn)上一步操作中創(chuàng)建的數(shù)據(jù)表的權(quán)限。
· 在配置文件 (config.inc.php)中啟用高級(jí)功能,參見(jiàn) config.sample.inc.php中的范例。
· 請(qǐng)重新登錄 phpMyAdmin以加載新配置并使其生效。
來(lái)自 <http://111.111.111.200/mariadb/server_privileges.php>
腳本默認(rèn)在mariadb安裝路徑下的examples目錄內(nèi)
執(zhí)行腳本
執(zhí)行完腳本后,我們會(huì)發(fā)現(xiàn)多了一個(gè)phpmyadmin數(shù)據(jù)庫(kù),我們需要更新root用戶對(duì)phpmyadmin數(shù)據(jù)庫(kù)的權(quán)限
點(diǎn)擊編輯權(quán)限
進(jìn)入編輯頁(yè)面后,在下面紅框內(nèi)選擇phpmyadmin數(shù)據(jù)庫(kù)
確認(rèn)是phpmyadmin數(shù)據(jù)庫(kù)后,全選所有權(quán)限
全選后點(diǎn)擊執(zhí)行按鈕
[root@localhost phpmyadmin]# systemctl restart httpd
訪問(wèn)管理頁(yè)面,這里的root賬戶密碼就是前面設(shè)置的Maridb的賬戶密碼 --必須重新輸入賬戶密碼登陸一次頁(yè)面才能開(kāi)啟高級(jí)功能!
wsrep_provider -- wsrep庫(kù)的位置,默認(rèn):/usr/lib64/galera/libgalera_smm.so
wsrep_cluster_address --集群IP配置,格式:"gcomm//:<node1 name or ip>,<node2 name or ip2>,<node3 name or ip>"
binlog_format=ROW --mysql復(fù)制主要有三種方式:基于SQL語(yǔ)句的復(fù)制(statement-based replication, SBR),基于行的復(fù)制(row-based replication, RBR),混合模式復(fù)制(mixed-based replication, MBR)。對(duì)應(yīng)的,binlog的格式也有三種:STATEMENT,ROW,MIXED
① STATEMENT模式(SBR)
每一條會(huì)修改數(shù)據(jù)的sql語(yǔ)句會(huì)記錄到binlog中。優(yōu)點(diǎn)是并不需要記錄每一條sql語(yǔ)句和每一行的數(shù)據(jù)變化,減少了binlog日志量,節(jié)約IO,提高性能。缺點(diǎn)是在某些情況下會(huì)導(dǎo)致master-slave中的數(shù)據(jù)不一致(如sleep()函數(shù), last_insert_id(),以及user-defined functions(udf)等會(huì)出現(xiàn)問(wèn)題)
② ROW模式(RBR)
不記錄每條sql語(yǔ)句的上下文信息,僅需記錄哪條數(shù)據(jù)被修改了,修改成什么樣了。而且不會(huì)出現(xiàn)某些特定情況下的存儲(chǔ)過(guò)程、或function、或trigger的調(diào)用和觸發(fā)無(wú)法被正確復(fù)制的問(wèn)題。缺點(diǎn)是會(huì)產(chǎn)生大量的日志,尤其是alter table的時(shí)候會(huì)讓日志暴漲。
③ MIXED模式(MBR)
以上兩種模式的混合使用,一般的復(fù)制使用STATEMENT模式保存binlog,對(duì)于STATEMENT模式無(wú)法復(fù)制的操作使用ROW模式保存binlog,MySQL會(huì)根據(jù)執(zhí)行的SQL語(yǔ)句選擇日志保存方式。
default_storage_engine=InnoDB --默認(rèn)存儲(chǔ)引擎。服務(wù)器啟動(dòng)時(shí)必須啟用默認(rèn)存儲(chǔ)引擎,否則服務(wù)器將無(wú)法啟動(dòng)。
innodb_autoinc_lock_mode=2 --控制著在向有auto_increment列的表插入數(shù)據(jù)時(shí),相關(guān)鎖的行為;所以在binlog_format不是statement的情況下最好是innodb_autoinc_lock_mode=2這樣可能知道更好的性能
innodb_doublewrite=1 -- This is the default value, but it should not be changed when using Galera providerversion >= 2.0.
query_cache_size=0 -- Only mandatory for MariaDB versions prior to MariaDB Galera Cluster 5.5.40, MariaDB Galera Cluster 10.0.14, and MariaDB 10.1.2.僅適用于MariaDB Galera Cluster 5.5.40,MariaDB Galera Cluster 10.0.14和MariaDB 10.1.2之前的MariaDB版本。
wsrep_on=ON -- Enable wsrep replication (starting 10.1.1)
下圖為mariadb10.3.12版本的默認(rèn)變量參數(shù)
想要啟動(dòng)集群,必須先修改這些參數(shù),修改之前先備份一下配置文件
以下為修改后的配置參數(shù)
[galera]
# Mandatory settings
wsrep_on=ON
wsrep_provider=/usr/lib64/galera/libgalera_smm.so
wsrep_cluster_address="gcomm://111.111.111.200,111.111.111.201,111.111.111.202"
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
#
# Allow server to accept connections on all interfaces.
#
#bind-address=0.0.0.0
#
# Optional setting
#wsrep_slave_threads=1
#innodb_flush_log_at_trx_commit=0
# this is only for embedded server
--這里建議將數(shù)據(jù)庫(kù)log_err日志開(kāi)啟,該參數(shù)屬于只讀參數(shù),只能修改配置文件重啟數(shù)據(jù)庫(kù)生效, 所以在安裝時(shí)就指定,以便于查看日志排錯(cuò)。在server.cnf文件中,[mysql]下加入該參數(shù)即可
log_error=/var/lib/mysql/mariadb01.err
mysqld --defaults-file=/etc/my.cnf.d/server.cnf --user=mysql --wsrep-new-cluster --wsrep-cluster-address="gcomm://"
systemctl start mariadb --wsrep-new-cluster --wsrep-cluster-address="gcomm//:111.111.111.200,111.111.111.201,111.111.111.202"
Systemd and Bootstrapping--官網(wǎng)命令:
On operating systems that use systemd, a node can be bootstrapped in the following way:
$ galera_new_cluster
本次測(cè)試使用的是galear_new_cluster命令啟動(dòng)的集群
全部按照1節(jié)點(diǎn)的server.cnf文件配置,然后systemctl restart mariadb就可以了
使用show status like 'wsrep_cluster_size'命令查看集群狀態(tài), value值為3,則證明集群有3個(gè)節(jié)點(diǎn)
1、關(guān)閉 selinux!否則會(huì)無(wú)法連入集群;如果啟用selinux,修改數(shù)據(jù)庫(kù)目錄后,啟動(dòng)數(shù)據(jù)庫(kù)就會(huì)報(bào)innodb無(wú)法初始化。
2、關(guān)閉防火墻!或者自行開(kāi)放相關(guān)端口
3、各個(gè)節(jié)點(diǎn)需用同一個(gè)版本的MariaDB,否則會(huì)出各種問(wèn)題!
4、如果是已有數(shù)據(jù)庫(kù),包含了集群外的數(shù)據(jù),千萬(wàn)不要作為后繼節(jié)點(diǎn)連入集群,否則原有數(shù)據(jù)會(huì)被集群數(shù)據(jù)所清除!
5、本次測(cè)試旨在快速部署MariaDB,所有參數(shù)均未做調(diào)優(yōu),僅滿足安裝需求!實(shí)際生產(chǎn)環(huán)境需要自行摸索優(yōu)化相關(guān)參數(shù)!
網(wǎng)頁(yè)標(biāo)題:Mariadb10.3.12單機(jī)&集群部署(含phpmyadmin)學(xué)習(xí)筆記
網(wǎng)站鏈接:http://chinadenli.net/article14/goghge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣、靜態(tài)網(wǎng)站、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站設(shè)計(jì)、搜索引擎優(yōu)化、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)