日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

nfs mysql_heatbeat-gui实现基于nfs的mysql高可用集群

發(fā)布時(shí)間:2023/12/15 数据库 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 nfs mysql_heatbeat-gui实现基于nfs的mysql高可用集群 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、簡(jiǎn)述HA高可用集群

高可用集群就是當(dāng)集群中的一個(gè)節(jié)點(diǎn)發(fā)生各種軟硬件及人為故障時(shí),集群中的其他節(jié)點(diǎn)能夠自動(dòng)接管故障節(jié)點(diǎn)的資源并向外提供服務(wù)。以實(shí)現(xiàn)減少業(yè)務(wù)中斷時(shí)間,為用戶(hù)提供更可靠,更高效的服務(wù)。

二、基于nfs實(shí)現(xiàn)mysql的高可用集群配置

環(huán)境準(zhǔn)備接上文

實(shí)驗(yàn)環(huán)境:

nfs server準(zhǔn)備

1、在nfs server準(zhǔn)備LVM存儲(chǔ)空間

[root@node3~]# fdisk /dev/sdb

Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel

Building a new DOS disklabel with disk identifier0x61284c6a.

Changes will remainin memory only, until you decide to writethem.

After that, of course, the previous content won't be recoverable.

Warning: invalid flag0x0000 of partition table 4 will be corrected by w(rite)

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to

switch off the mode (command 'c') and change display units to

sectors (command'u').

Command (mforhelp): n

Command action

e extended

p primary partition (1-4)

p

Partition number (1-4): 3First cylinder (1-1305, default 1):

Using default value1Last cylinder,+cylinders or +size{K,M,G} (1-1305, default 1305): +10G

Value out of range.

Last cylinder,+cylinders or +size{K,M,G} (1-1305, default 1305): +5G

Command (mforhelp): t

Selected partition3Hex code (type L to list codes): 8e

Changed system type of partition3to 8e (Linux LVM)

Command (mfor help): wThe partition table has been altered!Calling ioctl() to re-read partition table.

Syncing disks.

[root@node3~]# partx -a /dev/sdb

[root@node3~]# pvcreate /dev/sdb3

Physical volume"/dev/sdb3"successfully created

[root@node3~]# vgcreate myvg /dev/sdb3

Volume group"myvg"successfully created

[root@node3~]# lvcreate -L 5G -n mydata myvg

Logical volume"mydata"created.

[root@node3~]# mke2fs -t ext4 /dev/myvg/mydata

mke2fs1.41.12 (17-May-2010)

Filesystem label=OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

Stride=0 blocks, Stripe width=0blocks327680 inodes, 1310720blocks65536 blocks (5.00%) reserved forthe super user

First data block=0Maximum filesystem blocks=1342177280

40 block groups

32768 blocks per group, 32768fragments per group8192inodes per group

Superblock backups stored on blocks:32768, 98304, 163840, 229376, 294912, 819200, 884736Writing inode tables:doneCreating journal (32768 blocks): doneWriting superblocks and filesystem accounting information:doneThis filesystem will be automatically checked every36mounts or180 days, whichever comes first. Use tune2fs -c or -i to override.2、開(kāi)機(jī)自動(dòng)掛載,并nfs導(dǎo)出

[root@node3~]# mkdir /mydata

[root@node3~]# vim /etc/fstab/dev/myvg/mydata /mydata ext4 defaults 0 0[root@node3~]# mount -a

[root@node3~]# mount | grep /mydata/dev/mapper/myvg-mydata on /mydata type ext4 (rw)

[root@node3~]# vim /etc/exports/mydata 192.168.0.0/24(rw,no_root_squash)

#共享給192.168.0.0/24網(wǎng)段,可讀可寫(xiě),允許root用戶(hù)登錄便于初始化,配置結(jié)束可取消root用戶(hù)登錄3、導(dǎo)出nfs共享目錄

#創(chuàng)建mysql用戶(hù),指明uid,gid。各節(jié)點(diǎn)的mysql用戶(hù)uid,gid一致。

[root@node3~]# groupadd -r -g 306mysql

[root@node3~]# useradd -r -g 306 -u 306mysql

#創(chuàng)建共享目錄,并修改屬主屬組。

[root@node3~]# mkdir /mydata/data

[root@node3~]# chown -R mysql.mysql /mydata/data

#導(dǎo)出nfs共享目錄

[root@node3~]# exportfs -arv

exporting192.168.0.0/24:/mydata

各節(jié)點(diǎn)準(zhǔn)備mysql,并測(cè)試nfs。以下步驟,各節(jié)點(diǎn)一致。

node1配置

[root@node1 ~]# mkdir /mydata

[root@node1~]# showmount -e 192.168.0.20Export listfor 192.168.0.20:/mydata 192.168.0.0/24[root@node1~]# mount -t nfs 192.168.0.20:/mydata /mydata

[root@node1~]# mount | grep /mydata192.168.0.20:/mydata on /mydata type nfs (rw,vers=4,addr=192.168.0.20,clientaddr=192.168.0.15)

[root@node1~]# groupadd -r -g 306mysql

[root@node1~]# useradd -r -g 306 -u 306mysql

#驗(yàn)證mysql用戶(hù)是否擁有共享目錄權(quán)限

[root@node1~]# su -mysqlsu: warning: cannot change directory to /home/mysql: No such fileor directory-bash-4.1$-bash-4.1$-bash-4.1$ cd /mydata/data-bash-4.1$ touchnode1.txt-bash-4.1$ lsnode1.txt-bash-4.1$ rmnode1.txt-bash-4.1$ exit

logout

#在nfs server端驗(yàn)證

[root@node3~]# cd /mydata/data

[root@node3 data]# ll

total0

-rw-rw-r--. 1 mysql mysql 0 Nov 19 19:59node2.txt

#驗(yàn)證root用戶(hù)對(duì)目錄是否有權(quán)限

[root@node2~]# touch /mydata/data/node.txt

[root@node2~]# ll /mydata/data

total0

-rw-r--r--. 1 root root 0 Nov 19 20:02node.txt

#安裝mariadb

[root@node1~]# tar xf mariadb-5.5.46-linux-x86_64.tar.gz -C /usr/local

[root@node1~]# cd /usr/local

[root@node1 local]#ln -sv mariadb-5.5.46-linux-x86_64 mysql

`mysql'-> `mariadb-5.5.46-linux-x86_64'[root@node1 local]# cd mysql/[root@node1 mysql]#chown -R root.mysql ./*#初始化mysql至nfs,此步驟只需一個(gè)節(jié)點(diǎn)操作即可,本文node1執(zhí)行,那么node2就不需要執(zhí)行

#初始化操作后,可以將nfs server的共享選項(xiàng)中的no_root_squash移除了

[root@node1 mysql]# ./scripts/mysql_install_db --datadir=/mydata/data/ --user=mysql

#nfs server驗(yàn)證

[root@node3 data]# ls

aria_log.00000001 aria_log_control mysql performance_schema test

#為mysql節(jié)點(diǎn)準(zhǔn)備配置文件

[root@node1 mysql]# mkdir /etc/mysql

[root@node1 mysql]# cp support-files/my-large.cnf /etc/mysql/my.cnf

#編輯配置文件,加入以下三行

[root@node1 mysql]# vim /etc/mysql/my.cnf

datadir = /mydata/data

innodb_file_per_table = on

skip_name_resolve = on

#為mysql節(jié)點(diǎn)準(zhǔn)備服務(wù)腳本,并禁止mysqld開(kāi)機(jī)自啟

[root@node1 mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld

[root@node1 mysql]# chkconfig --add mysqld

[root@node1 mysql]# chkconfig mysqld off

#啟動(dòng)mysql,創(chuàng)建mydb數(shù)據(jù)庫(kù)

[root@node1 mysql]# service mysqld start

[root@node1 mysql]# /usr/local/mysql/bin/mysql

Welcome to the MariaDB monitor. Commands end with ; or \g.

Your MariaDB connection id is 3

Server version: 5.5.46-MariaDB-log MariaDB Server

Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> CREATE DATABASE mydb;

Query OK, 1 row affected (0.03 sec)

MariaDB [(none)]> exit

Bye

[root@node1 mysql]# service mysqld stop

node2配置

[root@node2 ~]# tar xf mariadb-5.5.46-linux-x86_64.tar.gz -C /usr/local

[root@node2~]# cd /usr/local/[root@node2 local]#ln -sv mariadb-5.5.46-linux-x86_64 mysql

`mysql'-> `mariadb-5.5.46-linux-x86_64'[root@node2 local]# cd mysql/[root@node2 mysql]#chown root.mysql ./*#將node1的mysql配置文件復(fù)制給node2

[root@node1 mysql]# scp /etc/mysql/my.cnf node2:/etc/mysql/

#準(zhǔn)備服務(wù)腳本,并禁止開(kāi)機(jī)自啟

[root@node2 mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld

[root@node2 mysql]# chkconfig --add mysqld

[root@node2 mysql]# chkconfig mysqld off

#啟動(dòng)服務(wù)并查看共享數(shù)據(jù)庫(kù)

[root@node2 mysql]# service mysqld start

[root@node2 mysql]# /usr/local/mysql/bin/mysql

Welcome to the MariaDB monitor. Commands end with ; or \g.

Your MariaDB connection id is 2

Server version: 5.5.46-MariaDB-log MariaDB Server

Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> SHOW DATABASES;

+--------------------+

| Database |

+--------------------+

| information_schema |

| mydb |

| mysql |

| performance_schema |

| test |

+--------------------+

5 rows in set (0.02 sec)

MariaDB [(none)]> EXIT

Bye

#授權(quán)root用戶(hù)遠(yuǎn)程訪(fǎng)問(wèn)mysql

[root@node2 ~]# /usr/local/mysql/bin/mysql

Welcome to the MariaDB monitor. Commands end with ; or \g.

Your MariaDB connection id is 3

Server version: 5.5.46-MariaDB-log MariaDB Server

Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> grant all on *.* to 'root'@'192.168.%.%' identified by '123456';

Query OK, 0 rows affected (0.06 sec)

MariaDB [(none)]> flush privileges;

Query OK, 0 rows affected (0.01 sec)

[root@node2 mysql]# service mysqld stop

在node1和node2卸載共享目錄

[root@node1 mysql]# umount /mydata

三、在heartbeat-gui界面配置

1、添加組資源,以及ip資源

2、添加共享文件系統(tǒng)資源

3、添加mysql-server資源

注意:定義的次序就是啟動(dòng)的次序。

總結(jié)

以上是生活随笔為你收集整理的nfs mysql_heatbeat-gui实现基于nfs的mysql高可用集群的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。