xml地图|网站地图|网站标签 [设为首页] [加入收藏]
当前位置: www8029com > 澳门新葡8522最新网站 > 正文

【澳门新葡8522最新网站】基于LVM快照的备份之准

时间:2019-08-26 17:49来源:澳门新葡8522最新网站
  选择lvm逻辑卷存储数据库数据目录的2大理由   (1)一般来说,我们会将数据库的数据目录放在lvm逻辑卷上,因为数据库的数据增长速度可能会超出我们的预期 规划 1、下载二进制包

 

选择lvm逻辑卷存储数据库数据目录的2大理由

 

(1) 一般来说,我们会将数据库的数据目录放在lvm逻辑卷上,因为数据库的数据增长速度可能会超出我们的预期

规划

1、下载二进制包

https://downloads.mariadb.org/mariadb/10.2.16/

2、干净的逻辑卷lvm

3、新逻辑卷挂载到/data

4、/data/mysql目录存放数据库

5、解压到安装目录,查看内置安装信息

6、设置配置文件

7、指定数据库

8、服务启动脚本

9、安全初始化

 

,这样在将来即便是数据增长很快,我们也不必担心,因为lvm可以实现在线扩容

新建LVM分区

1、新建逻辑卷并设置空间

fdisk /dev/sda
#

澳门新葡8522最新网站 1澳门新葡8522最新网站 2

澳门新葡8522最新网站 3

2、新逻辑卷类型

澳门新葡8522最新网站 4

澳门新葡8522最新网站 5

澳门新葡8522最新网站 6

3、新分区生效

partprobe 
#
#

澳门新葡8522最新网站 7

4、创建卷组、逻辑卷、物理卷

澳门新葡8522最新网站 8

澳门新葡8522最新网站 9

澳门新葡8522最新网站 10

5、挂载

澳门新葡8522最新网站 11

vim /etc/fstab
#
#

澳门新葡8522最新网站 12

(2) 我们可以对数据目录做基于lvm快照的备份

mysql安装设置

1、创建mysql账号信息

useradd -r -s /sbin/nologin -d /data/mysql -m mysql
#
#

澳门新葡8522最新网站 13

2、解压mysql二进制文件

澳门新葡8522最新网站 14

备注:必须解压到/usr/local目录下

3、创建mysql软连接

澳门新葡8522最新网站 15

4、修改mysql目录下所有的权限

澳门新葡8522最新网站 16

5、把执行文件bin放入 $PATH全局变量

vim /etc/profile.d/mysql.sh

#

#

澳门新葡8522最新网站 17

让设置生效

. /etc/profile.d/mysql.sh
#
#

6、生成数据库文件

scripts/mysql_install_db  --datadir=/data/mysql --user=mysql
#
#

澳门新葡8522最新网站 18

7、编辑mysql配置文件

澳门新葡8522最新网站 19

备注:图上是复制配置模板覆盖原来的文件,根据环境来选着不同的模板文件

vim /etc/my.cnf
#
#

澳门新葡8522最新网站 20

备注:要注意这里数据库路径一定要和上面指定的存放数据库文件的路径一致

--------------------------------------分割线

MySQL管理之基于LVM实现几乎热备 http://www.linuxidc.com/Linux/2014-04/99672.htm

Ubuntu 12.04 KVM之VM动态迁移-基于LVM 澳门新葡8522最新网站,http://www.linuxidc.com/Linux/2014-04/99894.htm

RHEL5.9 LVM的使用 http://www.linuxidc.com/Linux/2014-02/97268.htm

Linux系统中对逻辑卷(LVM)的实现 http://www.linuxidc.com/Linux/2014-01/95004.htm

LVM磁盘管理之扩展与缩小LV http://www.linuxidc.com/Linux/2013-03/81262.htm

启动文件

1、把mysql启动文件放入init.d

澳门新葡8522最新网站 21

2、加入启动列表

澳门新葡8522最新网站 22

2、启动服务

service mysqld start
#
#

备注:如果启动失败,注意检查权限和路径

到这mysql是可以登入了,但是现在随便一个用户都可以登入,无需密码验证,这样太不安全,下面简单的加固下

--------------------------------------分割线

1.创建用于存储数据目录lvm设备

1.1 创建一个新分区,并修改分区类型

# echo -e 'nnpn1nn 10Gnwn'|fdisk /dev/sdb

# echo -e 'tn8enpnwn'|fdisk /dev/sdb

显示和/dev/sdb相关的分区信息(磁盘分区,分区类型等)

# echo -e 'pnqn'|fdisk /dev/sdb

注:

磁盘分区仅有一个时,无需指定分区号

# echo -e 'dnwn'|fdisk /dev/sdb

磁盘分区多余一个时,需指定删除哪个分区

# echo -e 'dn2nwn'|fdisk /dev/sdb

 

1.2 查看新增磁盘分区(/dev/sdb1)是否被内核识别

# ls /dev/sd*

/dev/sda  /dev/sda1  /dev/sda2  /dev/sda3  /dev/sdb  /dev/sdb1

# cat /proc/partitions

major minor  #blocks  name

  8      16  209715200 sdb

  8      17  20980858 sdb1

  8        0  209715200 sda

  8        1    204800 sda1

  8        2  62914560 sda2

  8        3    5252256 sda3

 253        0  20971520 dm-0

 253        1    2097152 dm-1

 253        2  10485760 dm-2

 253        3  20971520 dm-3

很显然,/dev/sdb1已被内核识别。

注1:一般来说,我们需要查看2个位置,以确定新增分区的确已被内核识别:/dev/目录和/proc/partitions

注2:由于/dev/sdb是我新加的硬盘,所以很快就被内核识别了;若不是新硬盘,可能就需要执行如下操作,

才能使内核识别我们新增的硬盘:

不能识别时执行的操作:

kpartx -af /dev/sda

partx -a /dev/sda 

 

1.3创建lvm逻辑卷,并设置开机自动挂载

(1)创建物理卷

# pvcreate /dev/sdb1 

(2)创建卷组,卷组名为myvg

# vgcreate myvg /dev/sdb1

(3)创建逻辑卷,逻辑卷名为mydata,大小是10G,卷组是myvg

# lvcreate -L 10G -n mydata myvg

(4)将lvm设备格式化成ext4格式(格式化的目的是创建文件系统,以存储数据;这里面只有逻辑卷才能被格式化)

# mke2fs -t ext4 /dev/myvg/mydata

(5)设置lvm设备的开机自动挂载

# echo "/dev/myvg/mydata      /mydata                  ext4    defaults,acl    0 0" >>/etc/fstab

(6)创建lvm设备的挂载点

# mkdir /mydata

(7)挂载测试,看lvm设备是否能被正常挂载

# mount -a

(8)查看lvm是否真的已经成功挂载

# df -hP /mydata/

Filesystem            Size  Used Avail Use% Mounted on

/dev/mapper/myvg-mydata  9.9G  151M  9.2G  2% /mydata

注:挂载测试,很重要,若不提前测试,一旦开机自动挂载的配置有问题,可能会导致系统无法启动,很严重滴。

 

2.(使用通用二进制格式)安装mariadb-10.0.10

(1)将mariadb解压至/usr/local/目录

# tar xf mariadb-10.0.10-linux-x86_64.tar.gz -C /usr/local/

(2)切换至/usr/local/目录

# cd /usr/local/

(3)为mariadb创建软连接

# ln -sv mariadb-10.0.10-linux-x86_64 mysql

(4)添加名为mysql系统用户和系统组

# groupadd -r mysql

# useradd -g mysql -r -s /sbin/nologin mysql

(5)切换至mysql目录,修改该目录下所有文件的属主属组

# cd mysql/

# chown -R root.mysql ./*

(6)在/mydata目录下创建一个存储数据的目录data和二进制文件存放目录binlogs

# mkdir  /mydata/{data,binlogs}

(7)修改数据目录的属主属组为mysql

# chown -R mysql.mysql /mydata/

(8)将mariadb添加为系统服务,并添加可执行权限及开机自启

# cp support-files/mysql.server /etc/rc.d/init.d/mysqld

# chmod x /etc/rc.d/init.d/mysqld

# chkconfig --add mysqld

# chkconfig mysqld on

(9)生成主配置文件my.cnf(,屏蔽命令别名)

# cp support-files/my-large.cnf /etc/my.cnf

(10)修改主配置文件my.cnf,添加或修改如下项

# vim /etc/my.cnf

innodb_file_per_table = on  #启用一个单独的大事务

thread_concurrency = 2      #启用的sql线程数,一般设为物理核心的2倍

datadir=/mydata/data        #指定数据存放目录

log-bin=/mydata/binlogs/mysql-bin  #指定二进制日志文件的存放目录

binlog_format=mixed

(11)MariaDB服务初始化(以mysql用户的身份初始化数据目录)

./scripts/mysql_install_db --datadir=/mydata/data/ --user=mysql

(12)将MariaDB的二进制程序添加至PATH路径,方便程序的执行(永久生效)

# echo 'export PATH=/usr/local/mysql/bin/:$PATH' >/etc/profile.d/mysql.sh

# . /etc/profile.d/mysql.sh

(13)一切准备完毕,准备启动MariaDB服务

# service mysqld start

(14)连接至MariaDB数据库

# mysql  #刚安装的数据库默认是没有密码的,即无需密码即可登录,生产环境必须及时为mysql的root用户设置密码

MariaDB [hellodb]> source /root/hellodb.sql;  #导入sql语句,即插入数据,该sql语句位于/root目录下

MariaDB [hellodb]> SHOW DATABASES;  #显示当前系统都有哪些数据库(hellodb是我们刚刚导入的)

--------------------

| Database          |

--------------------

| hellodb            |

| information_schema |

| mysql              |

| performance_schema |

| test              |

--------------------

5 rows in set (0.00 sec)

更多详情见请继续阅读精彩内容: http://www.linuxidc.com/Linux/2014-05/101307.htm

本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-05/101308.htm

澳门新葡8522最新网站 23

安全加固

mysql_secure_installation
#
#

澳门新葡8522最新网站 24

澳门新葡8522最新网站 25

结果

指定root用户 –p 输入密码登陆

澳门新葡8522最新网站 26

编辑:澳门新葡8522最新网站 本文来源:【澳门新葡8522最新网站】基于LVM快照的备份之准

关键词: www8029com