澳门新萄京官方网站-www.8455.com-澳门新萄京赌场网址

MariaDB二进制安装,基于LVM快速照相的备份之计划

2019-07-21 作者:数据库网络   |   浏览(181)

 

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

    软件包的安装方式有三种:源码包安装、二进制包安装、rpm包安装。这三种安装方法都各有优劣。RPM安装:适合小环境,核心功能都具备,快速搭建环境,但它的版本一般都不会太高;二进制安装:它是发布出来时预先编译过的,既避免了编译的麻烦,又提供了增强功能;编译安装:它的要求高,要有编译环境,编译时可指定几乎所有选项,可满足你的所有选择。

mariadb是一个开源数的据库管理软件,是MySQL的一个分支,是MySQL创始人在出售MySQL之后开发的一个新的数据库软件,在MySQL的基础上进行了新的优化。

MariaDB二进制安装,mariadb二进制

下载二进制安装包

wget http://mirrors.neusoft.edu.cn/mariadb//mariadb-10.2.12/bintar-linux-x86_64/mariadb-10.2.12-linux-x86_64.tar.gz

新建mysql用户和组

useradd -r mysql -s /sbin/nologin

图片 1

解压二进制安装包至/usr/local

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

创建软链接

cd /usr/local/
ln -s mariadb-10.2.12-linux-x86_64/ mysql

图片 2

设置目录属主属组

chown -R mysql.mysql mysql/

 图片 3

配置系统环境变量

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

图片 4

将存放数据的逻辑卷挂载到/data/mysqldb

mkdir -pv /data/mysqldb
blkid
echo 'UUID=45943ceb-06b8-4cb8-8c73-53c751956288 /data/mysqldb xfs defaults 0 0' >> /etc/fstab
mount -a

图片 5

图片 6

 设置数据库文件夹属主属组权限

chown -R mysql.mysql /data/mysqldb/
chmod 770 /data/mysqldb/

图片 7

建立数据库文件

cd /usr/local/mysql
scripts/mysql_install_db --datadir=/data/mysqldb --user=mysql

图片 8

拷贝示例配置文件

cd support-files/
cp my-huge.cnf /etc/my.cnf

图片 9

修改my.cnf配置文件

图片 10

启动脚本

cp mysql.server /etc/init.d/mysqld
ll /etc/init.d/mysqld        #查看是否有执行权限
chkconfig --add mysqld
service mysqld start

图片 11

图片 12

安全初始化

mysql_secure_installation

测试登录

图片 13

 

下载二进制安装包 wget http: // mirrors.neusoft.edu.cn/mariadb // mariadb-10.2.12/bintar-linux-x86_64/mariadb-10.2.12-linux-x86_64....

 

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

    今天就来讲讲二进制方式的安装,它即解决了版本的问题,又不会像源码编译一样需要我们花费大量的时间去编译。对于二进制格式的包,我们只需要解压缩后就能够使用数据库,这听起来很容易,但必须要注意一些问题。二进制格式的程序包是已经编译好的二进制程序,所以里边有很多脚本都是在固定的路径下执行的,所以安装过程中我们必须按照它所给的安装信息来安装。而安装MariaDB它的安装路径必须在/usr/local目录下,并且目录名称必须叫mysql。如果不这样设置,一些脚本无法运行,更别提能成功安装了。

准备工作

规划

1、下载二进制包

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

2、干净的逻辑卷lvm

3、新逻辑卷挂载到/data

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

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

6、设置配置文件

7、指定数据库

8、服务启动脚本

9、安全初始化

 

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

    安装步骤:

安装mariadb的方式有多种,在这里介绍一下mariadb的二进制安装方式,首先要现在mariadb的二进制包,推荐官网下载https://downloads.mariadb.org/mariadb/10.2.8/,在这里下载最新的10.2.8稳定版

新建LVM分区

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

fdisk /dev/sda
#

图片 14图片 15

图片 16

2、新逻辑卷类型

图片 17

图片 18

图片 19

3、新分区生效

partprobe 
#
#

图片 20

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

图片 21

图片 22

图片 23

5、挂载

图片 24

vim /etc/fstab
#
#

图片 25

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

      1、下载二进制包

图片 26

mysql安装设置

1、创建mysql账号信息

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

图片 27

2、解压mysql二进制文件

图片 28

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

3、创建mysql软连接

图片 29

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

图片 30

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

vim /etc/profile.d/mysql.sh

#

#

图片 31

MariaDB二进制安装,基于LVM快速照相的备份之计划干活。让设置生效

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

6、生成数据库文件

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

图片 32

7、编辑mysql配置文件

图片 33

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

vim /etc/my.cnf
#
#

图片 34

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

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

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

Ubuntu 12.04 KVM之VM动态迁移-基于LVM 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

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

把已经下载好的二进制包mariadb-10.2.8-linux-x86_64.tar上传至虚拟机内

启动文件

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

图片 35

2、加入启动列表

图片 36

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

注:

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

#MariaDB二进制安装,基于LVM快速照相的备份之计划干活。 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

图片 37

      3、准备配置文件

[root@c7 ~]#rz

[root@c7 ~]#ll
total 445180
-rw-r--r--  1 root root 455856309 Sep 21 09:43 mariadb-10.2.8-linux-x86_64.tar.gz

安全加固

mysql_secure_installation
#
#

图片 38

图片 39

      4、准备数据库

准备mysql用户和家目录

结果

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

图片 40

      5、准备日志文件

[root@c7 ~]#getent passwd mysql --------------------------------------- # 查看mysql用户是否存在
[root@c7 ~]#useradd -r -m -d /app/dbdata -s /sbin/nologin mysql ------- # 创建mysql用户,指定家目录和用户类型
[root@c7 ~]#getent passwd mysql --------------------------------------- # 确认创建mysql用户
mysql:x:989:984::/app/dbdata:/sbin/nologin
[root@c7 ~]#ll /app/ -------------------------------------------------- # 确认创建mysql用户家目录
drwx------  3 mysql mysql        78 Sep 25 14:46 dbdata

      6、准备服务脚本

解压二进制包并安装

      7、安全初始化

二进制包是编译过后的程序,不是源码,在编译过程中已经指定过安装的路径,必须安装编译的路径去解压存放。mariadb默认安装在/usr /local/mysql/文件夹下,在解压时直接指定解压在/usr/local/文件夹下

    安装过程:

[root@c7 ~]#tar xvf mariadb-10.2.8-linux-x86_64.tar.gz -C /usr/local/
[root@c7 ~]#ll /usr/local/
total 0
drwxr-xr-x.  2 root root   6 Nov  5  2016 bin
drwxr-xr-x.  2 root root   6 Nov  5  2016 etc
drwxr-xr-x.  2 root root   6 Nov  5  2016 games
drwxr-xr-x.  2 root root   6 Nov  5  2016 include
drwxr-xr-x.  2 root root   6 Nov  5  2016 lib
drwxr-xr-x.  2 root root   6 Nov  5  2016 lib64
drwxr-xr-x.  2 root root   6 Nov  5  2016 libexec
drwxrwxr-x  12 1021 1004 290 Aug 18 04:16 mariadb-10.2.8-linux-x86_64
drwxr-xr-x.  2 root root   6 Nov  5  2016 sbin
drwxr-xr-x.  5 root root  49 Sep  9 20:56 share
drwxr-xr-x.  2 root root   6 Nov  5  2016 src

    1、下载二进制包。下载地址为:

由此可见,因为解压后的文件夹名称和报名相同,而不是mariadb安装的文件夹mysql,在这里可以把文件夹名称改为mysql或者创建一个软连接

      我这里选择最新版本的mariadb-10.2.8稳定版,进入后下载适用于64位操作系统的Linux x86_64版本

[root@c7 local]#ln -sv mariadb-10.2.8-linux-x86_64/ mysql
‘mysql’ -> ‘mariadb-10.2.8-linux-x86_64/’
[root@c7 local]#ll
total 0
drwxr-xr-x.  2 root root   6 Nov  5  2016 bin
drwxr-xr-x.  2 root root   6 Nov  5  2016 etc
drwxr-xr-x.  2 root root   6 Nov  5  2016 games
drwxr-xr-x.  2 root root   6 Nov  5  2016 include
drwxr-xr-x.  2 root root   6 Nov  5  2016 lib
drwxr-xr-x.  2 root root   6 Nov  5  2016 lib64
drwxr-xr-x.  2 root root   6 Nov  5  2016 libexec
drwxrwxr-x  12 1021 1004 290 Aug 18 04:16 mariadb-10.2.8-linux-x86_64
lrwxrwxrwx   1 root root  28 Sep 25 15:04 mysql -> mariadb-10.2.8-linux-x86_64/
drwxr-xr-x.  2 root root   6 Nov  5  2016 sbin
drwxr-xr-x.  5 root root  49 Sep  9 20:56 share
drwxr-xr-x.  2 root root   6 Nov  5  2016 src

    图片 41

准备配置文件

      这个里面有针对各个版本的不同的二进制包,我选择第二个,它是一个Linux里的通用安装包。下面的一个是针对systemd系统的安装包,最后一个安装包需要你的glibc库版本在2.14以上。

配置格式:类ini格式,各程序由单个配置文件提供配[prog_name]
配置文件查找次序:后面覆盖前面的配置文件
/etc/my.cnf--> /etc/mysql/my.cnf--> --default-extra-file=/PATH/TO/CONF_FILE --> ~/.my.cnf

    2、解压到安装目录下

虽然现在还没安装配置文件,但/etc/my.cnf已经生产,在这里我们可以创建一个优先级更高的的/etc/mysql/my,cnf文件。在整理可以用support-files/my-huge.cnf为模板,复制并改名为my.cnf

      下载完成后上传到Linux里,然后解压

[root@c7 mysql]#mkdir /etc/mysql
[root@c7 mysql]#ll /etc/mysql/
total 0
[root@c7 mysql]#cp support-files/my-huge.cnf /etc/mysql/my.cnf
[root@c7 mysql]#ll /etc/mysql/my.cnf 
-rw-r--r-- 1 root root 4901 Sep 25 15:36 /etc/mysql/my.cnf

        tar -xvf mariadb-10.2.8-linux-x86_64.tar.gz

修改配置文件,添加必要的修改信息

      然后进入目录查看里面给定的安装信息 

[root@c7 mysql]#vim /etc/mysql/my.cnf
......
# The MySQL server
[mysqld]
port            = 3306
datadir = /app/dbdata -------------- # 数据库目录
innodb_file_per_table = on --------- # 生成独立的数据库文件
skip_name_resolve = on ------------- # 禁止主机名解析

        cat  INSTALL-BINARY

创建日志文件

      根据安装里的提醒我们去准备配置文件

在mariadb的配置文件中,默认日志文件存在于/var/log/mariadb/maria.log,这个文件需要手动去创建,并且修改用户为mysql

    3、准备配置文件

[root@c7 mysql]#mkdir /var/log/mariadb
[root@c7 mysql]#touch /var/log/mariadb/maria.log
[root@c7 mysql]#chown -R mysql:mysql /var/log/mariadb/
[root@c7 mysql]#ll /var/log/mariadb/
total 0
-rw-r--r-- 1 mysql mysql 0 Sep 25 17:19 maria.log
[root@c7 mysql]#ll /var/log/mariadb/ -d
drwxr-xr-x 2 mysql mysql 23 Sep 25 17:19 /var/log/mariadb/

      根据文件我们要创建一个mysql的用户,它可以对以后的mysql数据库进行管理,同时我们还可以指定mysql的家目录,这样以后它的存储数据就可以独立出来放置了,同时指明shell类型为nologin

创建系统数据库

        useradd -r -m -d /app/date -s /sbin/nologin mysql

在系统中存在mysql数据库和text数据库,mysql数据库是系统数据库,在/app/dbdata/文件夹中还没有创建

      移动解压的目录到/usr/local/下,同时还可以创建一个mysql的软连接,这样可以方便以后的版本更新

[root@c7 mysql]#ll /app/dbdata/
total 0

        mv mariadb-10.2.8-linux-x86_64 /usr/local

执行脚本文件scripts/mysql_install_db创建系统数据库,这个脚本只能在/usr/local/mysql/下执行。否则会报错。在执行此脚本时需指定数据库目录和运行者身份。

        cd /usr/local ; ln -sv mariadb-10.2.8-linux-x86_64 mysql

[root@c7 mysql]#scripts/mysql_install_db --datadir=/app/dbdata --user=mysql
......
[root@c7 mysql]#ls /app/dbdata/
aria_log.00000001  ibdata1      mysql             mysql-bin.state
aria_log_control   ib_logfile0  mysql-bin.000001  performance_schema
ib_buffer_pool     ib_logfile1  mysql-bin.index   test

      然后要把这个目录的管理权限给mysql管理

此时系统数据库mysql和text已经创建成功,一个文件夹代表一个数据库

        chown -R root:mysql mysql/

启动数据库

      提供mysql的配置文件,解压的包里内置了几个提供的配置文件。放置在support-files这个目录里,我们可以根据你要创建的数据的大小来选择用哪一个配置文件

复制文件夹support-files下的启动文件mysql.server到 /etc/init.d/并改名mysqld,启动mysqld,并查看启动后的进程

     图片 42

[root@c7 mysql]#cp support-files/mysql.server /etc/init.d/mysqld
[root@c7 mysql]#chkconfig mysqld on
[root@c7 mysql]#chkconfig --list

Note: This output shows SysV services only and does not include native
      systemd services. SysV configuration data might be overridden by native
      systemd configuration.

      If you want to list systemd services use 'systemctl list-unit-files'.
      To see services enabled on particular target use
      'systemctl list-dependencies [target]'.

mysqld          0:off   1:off   2:on    3:on    4:on    5:on    6:off
netconsole      0:off   1:off   2:off   3:off   4:off   5:off   6:off
network         0:off   1:off   2:on    3:on    4:on    5:on    6:off

[root@c7 mysql]#service mysqld start
Starting mysqld (via systemctl):                           [  OK  ]

      这里就选择最大的huge配置文件来进行复制了,并把它放入指定的目录下,以避免可能和旧版本的冲突

配置环境变量

        mkdir /etc/mysql/

此时mysqld对应的端口3306已经打开,但是使用mysql依然无法进入数据库,再次需要配置环境变量

        cp support-files/my-huge.cnf  /etc/mysql/my.cnf

[root@c7 mysql]#ss -ntl
State       Recv-Q Send-Q Local Address:Port                Peer Address:Port              
LISTEN      0      128                *:111                            *:*                  
LISTEN      0      5      192.168.122.1:53                             *:*                  
LISTEN      0      128                *:22                             *:*                  
LISTEN      0      128        127.0.0.1:631                            *:*                  
LISTEN      0      100        127.0.0.1:25                             *:*                  
LISTEN      0      80                :::3306                          :::*                  
LISTEN      0      128               :::111                           :::*                  
LISTEN      0      128               :::80                            :::*                  
LISTEN      0      128               :::22                            :::*                  
LISTEN      0      128              ::1:631                           :::*                  
LISTEN      0      100              ::1:25                            :::*                  
[root@c7 mysql]#mysql
bash: mysql: command not found...

      编写里面的配置文件

在etc下编辑变量配置文件,执行新的环境变量文件,重新登录mysql

        vim  /etc/mysql/my.cnf

[root@c7 bin]#vim /etc/profile.d/mysql.sh 
export PATH=/usr/local/mysql/bin:$PATH

[root@c7 bin]#. /etc/profile.d/mysql.sh 
[root@c7 bin]#mysql
Welcome to the MariaDB monitor.  Commands end with ; or g.
Your MariaDB connection id is 10
Server version: 10.2.8-MariaDB-log MariaDB Server

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

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

MariaDB [(none)]>

        图片 43

初始化数据库

      在mysqld的后面加入有注释的这三行,目的是为了指明数据存放位置和方便以后对表的管理。

刚建立的数据库没有进行任何的加密,用户可以随意登录,起不到保护数据的作用,因此需要对数据库进行初始化设置

    4、准备数据库文件

[root@c7 bin]#mysql_secure_installation 

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): ------------------------------ # 没有设置密码,直接回车
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] y ---------------------------------------------------- # 设置密码
New password: ----------------------------------------------------------------- # 输入密码
Re-enter new password: -------------------------------------------------------- # 确认密码
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y ---------------------------------------------- # 删除匿名用户
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] n ---------------------------------------- # 不允许root远程登录
 ... skipping.

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] n ------------------------------- # 不删除test测试数据库
 ... skipping.

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y ---------------------------------------- # 重新加载数据库
 ... Success!

Cleaning up...

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

此时数据库已经不能使用mysql命令直接连接,如要指定用户,并输入密码才能连接

      执行后它会给一些警报信息,当然这些警报信息是可以忽略的

[root@c7 ~]#mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
[root@c7 ~]#mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or g.
Your MariaDB connection id is 25
Server version: 10.2.8-MariaDB-log MariaDB Server

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

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

MariaDB [(none)]> 

     5、准备日志文件

      准备好日志文件,这样可以有利于以后的排错。当然由于这个服务是mysql管理的,而mysql是对/var/log/这个目录没有写权限的,所以这里我们还需要给mysql一个ACL的特殊权限才行

      mkdir /var/log/mariadb/      MariaDB的默认存放目录就为mariadb,所以就创建这样一个存放MariaDB日志的目录

      touch /var/log/mariadb/mariadb.log  再创建一个放日志的空文件

      setfacl -R -m u:mysql:rwx /var/log/mariadb/mariadb.log  给予mysql一个ACL的特殊权限,使它可以读写日志

    6、准备服务脚本

      到这里MariaDB二进制包已经安装完毕了。我们现在就要把这个服务启动起来,所以就需要为这个服务准备启动脚本。当然这个脚本也在软件包里有提供,我们只需要复制出来就可以使用了。这个脚本也是放置在support-files这个目录里,它的里面有一个mysql.server的文件就是提供的服务脚本

      cp support-files/mysql.server /etc/init.d/mysql  复制到/etc/init.d/放置服务脚本的目录下

      chkconfig --add mysql    把这个服务加入到服务列表中去

*      *chkconfig on        把这个服务设定为开机自启,默认为2、3、4、5这三种模式下开机会自动启动
      service mysql start     打开这个服务

      做完这些后我们就可以进入数据库了,但是它的命令路径不在默认的PATH路径下,而是在/usr/local/mysql/bin/目录下,所以我们每次要进入数据库还需要敲这长长的一串命令。这样太麻烦

      所以我们就把这个命令的路径写入到PATH变量里面去,省的以后敲命令麻烦

      vim /etc/profile.d/mysql.sh

        export  PATH=/usr/local/mysql/bin:$PATH

      source /etc/profile.d/mysql.sh  使这个配置文件及时生效

      添加完成后就可以使用 mysql 这个命令来直接进入数据库了

    7、安全初始化

      此时myaql这个服务以经开启了,但是它现在并不安全。因为现在任何用户都可以访问这个数据库,所以我们要给这个数据库设置管理用户,设定访问权限。

      下面这个xxxx用户是不需要密码就可以进入的:

    图片 44

      所以为了安全,我们要对数据库进行安全初始化设置。这个命令在mysql的命令包里是自带的所以我们只需要去执行这条命令就可初始化了

    图片 45

    图片 46

      从上图可以看到安全初始化后,匿名账号已经登录不进去了。现在管理员就可以自由的分配用户来进行对数据库的管理了。

      管理员进入数据库进行查看:

    图片 47

      当然这样纯字符的管理并不是那么的好看,所以它还可以结合HTTP和PHP这两个服务来进行网页上的图形化管理,这就是lamp组合。那样将会更容易看懂,更容易操作。当然这里就先不介绍那么多了

    

本文由澳门新萄京官方网站发布于数据库网络,转载请注明出处:MariaDB二进制安装,基于LVM快速照相的备份之计划

关键词: