真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Mariadb10.3.12單機&集群部署(含phpmyadmin)學習筆記

2019年2月27日

成都創(chuàng)新互聯(lián)公司基于成都重慶香港及美國等地區(qū)分布式IDC機房數(shù)據(jù)中心構建的電信大帶寬,聯(lián)通大帶寬,移動大帶寬,多線BGP大帶寬租用,是為眾多客戶提供專業(yè)服務器托管報價,主機托管價格性價比高,為金融證券行業(yè)眉山聯(lián)通機房,ai人工智能服務器托管提供bgp線路100M獨享,G口帶寬及機柜租用的專業(yè)成都idc公司。

9:46

目錄

環(huán)境說明:.2

一、單機部署.2

1.1、查詢系統(tǒng)是否自帶mariadb,如果有就卸載掉.2

1.2、配置離線yum源.3

1.3、升級systemd-libs包.4

1.4、安裝mariadb 4

1.5啟動mariadb 5

1.6、MariaDB簡單配置.6

1.7、MariaDB登陸.7

1.8、開啟錯誤日志.7

二、圖形管理界面phpmyadmin部署.10

2.1、安裝httpd、php和php-MySQL軟件.10

2.2、解壓軟件包.10

2.3、生成配置文件.10

2.4、開啟高級功能.10

2.4.1、編輯配置文件.10

2.4.2、根據(jù)頁面提示執(zhí)行腳本.11

2.4.3、更新權限.13

2.4.4、重啟httpd服務.15

三、集群安裝.17

3.1、必須配置的變量參數(shù).17

3.2、啟動集群命令:.19

3.3、其他節(jié)點加入集群.20

3.4、查看集群狀態(tài).20

四、注意事項.21

 

 

環(huán)境說明:

官方站點:

https://mariadb.com/kb/zh-cn/

https://mariadb.org


官網(wǎng)學習鏈接:

https://mariadb.com/kb/en/library/getting-started-with-mariadb-galera-cluster/#installing-mariadb-galera-cluster

環(huán)境:VMware? Workstation 15 Pro

單機部署:CentOS7.1+Mariadb10.3.12+phpmyadmin4.0.10.20

說明:客戶要求必須用CentOS7.1+Mariadb10.3.12的環(huán)境,CentOS 7.1上mariadb10.3.12的依賴包版本都需要升級,所以直接從CentOS7.6上提取了最新的包,并配置離線yum源。

如果直接在CentOS7.6上安裝,則不需要做離線yum源,直接掛載系統(tǒng)鏡像做yum源就可以了。mariadb和phpmyadmin可以從官網(wǎng)免費下載。

 

集群部署:三臺CentOS7.1虛擬機+Mariadb10.3.12+phpmyadmin4.0.10.20

IP地址:

111.111.111.20

111.111.111.201

111.111.111.202

 

主機名:

hostnamectl set-hostname mariadb01

hostnamectl set-hostname mariadb02

hostnamectl set-hostname mariadb03

 

關閉防火墻&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

 

一、單機部署

1.1、查詢系統(tǒng)是否自帶mariadb,如果有就卸載掉

Mariadb 10.3.12單機&集群部署(含phpmyadmin)學習筆記

Rpm -qa查詢到有一個5.5.41版本的包,直接卸載

1.2、配置離線yum源

將準備好的離線yum源包上傳到服務器,并配置yum源

Mariadb 10.3.12單機&集群部署(含phpmyadmin)學習筆記

由于服務器采用最小化安裝,所以還需要安裝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

 

Mariadb 10.3.12單機&集群部署(含phpmyadmin)學習筆記

 

創(chuàng)建本地yum源倉庫

Mariadb 10.3.12單機&集群部署(含phpmyadmin)學習筆記

Mariadb 10.3.12單機&集群部署(含phpmyadmin)學習筆記

執(zhí)行setup_repository之后會在/etc/yum.repos.d目錄下生成一個mariadb.repo,但是還是需要我們自己配置一下,否則該目錄下的其他repo文件會干擾yum離線源

 

1.3、升級systemd-libs包

由于centos7.1自帶的systemd-libs-208-20.el7.x86_64版本過低不支持Mariadb10.3.12版本,我們需要升級

[root@localhost ~]# yum install systemd-libs -y

Mariadb 10.3.12單機&集群部署(含phpmyadmin)學習筆記

1.4、安裝mariadb

前面已經(jīng)完成yum配置,這里直接安裝

[root@localhost yum.repos.d]# yum install mariadb-server -y

Mariadb 10.3.12單機&集群部署(含phpmyadmin)學習筆記

 

1.5啟動mariadb

[root@localhost ~]# systemctl start mariadb

[root@localhost ~]# systemctl enable mariadb

[root@localhost ~]# systemctl status mariadb

 

Mariadb 10.3.12單機&集群部署(含phpmyadmin)學習筆記

1.6、MariaDB簡單配置

[root@localhost ~]# mysql_secure_installation

先是設置密碼,會提示先輸入密碼

Enter current password for root (enter for none):  <–初次運行直接回車

設置密碼

Set root password? [Y/n]   <–是否設置root用戶密碼,輸入y并回車或直接回車

New password:   <–設置root用戶的密碼

Re-enter new password:   <–再輸入一次你設置的密碼

其他配置

Remove anonymous users? [Y/n]   <–是否刪除匿名用戶,Y,回車

Disallow root login remotely? [Y/n]   <–是否禁止root遠程登錄,N,回車,

Remove test database and access to it? [Y/n]   <–是否刪除test數(shù)據(jù)庫,n,回車

Reload privilege tables now? [Y/n]   <–是否重新加載權限表,回車

初始化MariaDB完成,接下來測試登錄

Mariadb 10.3.12單機&集群部署(含phpmyadmin)學習筆記

 

 

1.7、MariaDB登陸

[root@localhost ~]# mysql -u root -p

Mariadb 10.3.12單機&集群部署(含phpmyadmin)學習筆記

 

默認安裝路徑:/var/lib/mysql

Mariadb 10.3.12單機&集群部署(含phpmyadmin)學習筆記

 

1.8、開啟錯誤日志

mysql>show variables like '%log_err%'

Mariadb 10.3.12單機&集群部署(含phpmyadmin)學習筆記

可以看到?jīng)]開啟錯誤日志,我們可以選擇開啟,并指定路徑,命令行修改會如下圖報錯,告訴我們是只讀參數(shù),那么只能修改server.cnf文件,然后重啟數(shù)據(jù)庫生效了。

Mariadb 10.3.12單機&集群部署(含phpmyadmin)學習筆記

Mariadb 10.3.12單機&集群部署(含phpmyadmin)學習筆記

重啟數(shù)據(jù)庫后參數(shù)生效:

Mariadb 10.3.12單機&集群部署(含phpmyadmin)學習筆記

Mariadb 10.3.12單機&集群部署(含phpmyadmin)學習筆記

二、圖形管理界面phpmyadmin部署

2.1、安裝httpd、php和php-mysql軟件

[root@localhost ~]# yum install httpd php php-mysql -y

[root@localhost ~]# yum install php-mbstring -y

 

2.2、解壓軟件包

將下載好的軟件解壓到"/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

這里把目錄名稱修改簡單點,便于訪問

 

2.3、生成配置文件

進入mariadb目錄,將"config.sample.inc.php"文件復制為"config.inc.php"。

[root@localhost mariadb]# cp config.sample.inc.php config.inc.php

 

2.4、開啟高級功能

2.4.1、編輯配置文件

將下圖中 /* Storage database and tables */后的高級參數(shù)全部開啟

Mariadb 10.3.12單機&集群部署(含phpmyadmin)學習筆記

 

2.4.2、根據(jù)頁面提示執(zhí)行腳本

Mariadb 10.3.12單機&集群部署(含phpmyadmin)學習筆記

Mariadb 10.3.12單機&集群部署(含phpmyadmin)學習筆記

快速設置高級功能:

·       通過 examples/create_tables.sql創(chuàng)建必需的數(shù)據(jù)表。

·       創(chuàng)建一個用戶并授予其訪問上一步操作中創(chuàng)建的數(shù)據(jù)表的權限。

·       在配置文件 (config.inc.php)中啟用高級功能,參見 config.sample.inc.php中的范例。

·       請重新登錄 phpMyAdmin以加載新配置并使其生效。

 

來自 <http://111.111.111.200/mariadb/server_privileges.php>

腳本默認在mariadb安裝路徑下的examples目錄內

Mariadb 10.3.12單機&集群部署(含phpmyadmin)學習筆記

執(zhí)行腳本

Mariadb 10.3.12單機&集群部署(含phpmyadmin)學習筆記

 

2.4.3、更新權限

執(zhí)行完腳本后,我們會發(fā)現(xiàn)多了一個phpmyadmin數(shù)據(jù)庫,我們需要更新root用戶對phpmyadmin數(shù)據(jù)庫的權限

點擊編輯權限

Mariadb 10.3.12單機&集群部署(含phpmyadmin)學習筆記

 

進入編輯頁面后,在下面紅框內選擇phpmyadmin數(shù)據(jù)庫

Mariadb 10.3.12單機&集群部署(含phpmyadmin)學習筆記

 

確認是phpmyadmin數(shù)據(jù)庫后,全選所有權限

Mariadb 10.3.12單機&集群部署(含phpmyadmin)學習筆記

 

全選后點擊執(zhí)行按鈕

Mariadb 10.3.12單機&集群部署(含phpmyadmin)學習筆記

 

Mariadb 10.3.12單機&集群部署(含phpmyadmin)學習筆記

 

2.4.4、重啟httpd服務

[root@localhost phpmyadmin]# systemctl restart httpd

訪問管理頁面,這里的root賬戶密碼就是前面設置的Maridb的賬戶密碼 --必須重新輸入賬戶密碼登陸一次頁面才能開啟高級功能!

Mariadb 10.3.12單機&集群部署(含phpmyadmin)學習筆記

 

Mariadb 10.3.12單機&集群部署(含phpmyadmin)學習筆記

 

 

三、集群安裝

3.1、必須配置的變量參數(shù)

wsrep_provider  -- wsrep庫的位置,默認:/usr/lib64/galera/libgalera_smm.so

wsrep_cluster_address --集群IP配置,格式:"gcomm//:,,"

binlog_format=ROW  --mysql復制主要有三種方式:基于SQL語句的復制(statement-based replication, SBR),基于行的復制(row-based replication, RBR),混合模式復制(mixed-based replication, MBR)。對應的,binlog的格式也有三種:STATEMENT,ROW,MIXED

① STATEMENT模式(SBR)

每一條會修改數(shù)據(jù)的sql語句會記錄到binlog中。優(yōu)點是并不需要記錄每一條sql語句和每一行的數(shù)據(jù)變化,減少了binlog日志量,節(jié)約IO,提高性能。缺點是在某些情況下會導致master-slave中的數(shù)據(jù)不一致(如sleep()函數(shù), last_insert_id(),以及user-defined functions(udf)等會出現(xiàn)問題)

② ROW模式(RBR)

不記錄每條sql語句的上下文信息,僅需記錄哪條數(shù)據(jù)被修改了,修改成什么樣了。而且不會出現(xiàn)某些特定情況下的存儲過程、或function、或trigger的調用和觸發(fā)無法被正確復制的問題。缺點是會產(chǎn)生大量的日志,尤其是alter table的時候會讓日志暴漲。

③ MIXED模式(MBR)

以上兩種模式的混合使用,一般的復制使用STATEMENT模式保存binlog,對于STATEMENT模式無法復制的操作使用ROW模式保存binlog,MySQL會根據(jù)執(zhí)行的SQL語句選擇日志保存方式。

default_storage_engine=InnoDB  --默認存儲引擎。服務器啟動時必須啟用默認存儲引擎,否則服務器將無法啟動。

innodb_autoinc_lock_mode=2 --控制著在向有auto_increment列的表插入數(shù)據(jù)時,相關鎖的行為;所以在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版本的默認變量參數(shù)

Mariadb 10.3.12單機&集群部署(含phpmyadmin)學習筆記

 

想要啟動集群,必須先修改這些參數(shù),修改之前先備份一下配置文件

Mariadb 10.3.12單機&集群部署(含phpmyadmin)學習筆記

 

以下為修改后的配置參數(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

Mariadb 10.3.12單機&集群部署(含phpmyadmin)學習筆記

--這里建議將數(shù)據(jù)庫log_err日志開啟,該參數(shù)屬于只讀參數(shù),只能修改配置文件重啟數(shù)據(jù)庫生效, 所以在安裝時就指定,以便于查看日志排錯。在server.cnf文件中,[mysql]下加入該參數(shù)即可

log_error=/var/lib/mysql/mariadb01.err

 

3.2、啟動集群命令:

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

本次測試使用的是galear_new_cluster命令啟動的集群

Mariadb 10.3.12單機&集群部署(含phpmyadmin)學習筆記

 

3.3、其他節(jié)點加入集群

全部按照1節(jié)點的server.cnf文件配置,然后systemctl restart mariadb就可以了

 

3.4、查看集群狀態(tài)

使用show status like 'wsrep_cluster_size'命令查看集群狀態(tài), value值為3,則證明集群有3個節(jié)點

Mariadb 10.3.12單機&集群部署(含phpmyadmin)學習筆記


四、注意事項

1、關閉 selinux否則會無法連入集群;如果啟用selinux,修改數(shù)據(jù)庫目錄后,啟動數(shù)據(jù)庫就會報innodb無法初始化。

2、關閉防火墻!或者自行開放相關端口

3、各個節(jié)點需用同一個版本的MariaDB,否則會出各種問題!

4、如果是已有數(shù)據(jù)庫,包含了集群外的數(shù)據(jù),千萬不要作為后繼節(jié)點連入集群,否則原有數(shù)據(jù)會被集群數(shù)據(jù)所清除!

5、本次測試旨在快速部署MariaDB,所有參數(shù)均未做調優(yōu),僅滿足安裝需求!實際生產(chǎn)環(huán)境需要自行摸索優(yōu)化相關參數(shù)!

 

 


分享標題:Mariadb10.3.12單機&集群部署(含phpmyadmin)學習筆記
URL鏈接:http://weahome.cn/article/goghge.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部