三、分别在两个节点安装数据库软件:
两个节点使用的数据库软件的版本要求是一致的。因为,两个节点的数据库软件使用的是同一份数据集。由于不同版本的数据库,它的元数据有差异。会造成无法启动数据库服务的。
这里两个节点都使用二进制版本的MariaDB数据库软件。
mariadb-5.5.36-linux-x86_64.tar.gz1、在 node1(192.168.60.22)安装数据库软件
(1)、在node1挂载并测试NFS服务器导出的文件系统
查看NFS服务器导出的文件系统
[root@node1 ~]# showmount -e 192.168.60.40 Export list for 192.168.60.40: /mydata 192.168.60.0/24创建挂载点
[root@node1 /]# mkdir mysqldata挂载NFS寻出的文件系统
[root@node1 /]# mount -t nfs 192.168.60.40:/mydata /mysqldata [root@node1 /]# mount | grep mysqldata 192.168.60.40:/mydata on /mysqldata type nfs (rw,vers=4,addr=192.168.60.40,clientaddr=192.168.60.22)(2)、安装: MariaDB 数据库
使用的是二进制包安装数据包的方式。
(A)、初始化数据前的准备工作
解压到指定目录下
[root@node1 admin]# tar -xf mariadb-5.5.36-linux-x86_64.tar.gz -C /usr/local/ [root@node1 admin]# cd /usr/local/为了以后维护方便不直接修改目录名称,使用软连接的方式
[root@node1 local]# ln -sv mariadb-5.5.36-linux-x86_64 mysql [root@node1 local]# ll mysql lrwxrwxrwx 1 root root 27 Sep 12 21:23 mysql -> mariadb-5.5.36-linux-x86_64由于初始化数据库的时候,要以mysql用户的身份运行一些脚本来完成数据库的初始化工作。所以。修改数据库的程序文件的属主为mysql
[root@node1 mysql]# chown -R mysql:mysql ./* [root@node1 mysql]# ll total 212 drwxr-xr-x 2 mysql mysql 4096 Sep 12 21:22 bin -rw-r--r-- 1 mysql mysql 17987 Feb 24 2014 COPYING -rw-r--r-- 1 mysql mysql 26545 Feb 24 2014 COPYING.LESSER drwxr-xr-x 3 mysql mysql 4096 Sep 12 21:22 data ....(B)、初始化数据库,指定数据目录的位置和初始化数据库使用的用户
[root@node1 mysql]# ./scripts/mysql_install_db --datadir=/mysqldata/mysql/ --user=mysql Installing MariaDB/MySQL system tables in '/mysqldata/mysql/' ... OK Filling help tables... OK说明:
从上述可以看出,初始化数据库已经OK!
(3)、为启动 MariaDB 数据库做准备
提供数据库提供配置文件
[root@node1 mysql]# cp support-files/my-large.cnf /etc/my.cnf由于,修改了数据库的数据目录,所以要在配置文件中指定数据库的数据目录
[root@node1 mysql]# vim /etc/my.cnf thread_concurrency = 2 datadir = /mysqldata/mysql/提供LSB风格的启动脚本,管理 MariaDB 的启动、停止、重启、重新加裁配置文件等操作
[root@node1 mysql]# cp support-files/mysql.server /etc/init.d/mysqld [root@node1 mysql]# ll /etc/init.d/mysqld -rwxr--r-- 1 root root 11844 Sep 12 21:39 /etc/init.d/mysqld为了安全考虑把数据库的程序目录的属主修改为:root
[root@node1 mysql]# chown -R root:mysql ./* [root@node1 mysql]# ll total 212 drwxr-xr-x 2 root mysql 4096 Sep 12 21:22 bin -rw-r--r-- 1 root mysql 17987 Feb 24 2014 COPYING -rw-r--r-- 1 root mysql 26545 Feb 24 2014 COPYING.LESSER drwxr-xr-x 3 root mysql 4096 Sep 12 21:22 data drwxr-xr-x 2 root mysql 4096 Sep 12 21:23 docs drwxr-xr-x 3 root mysql 4096 Sep 12 21:23 include -rw-r--r-- 1 root mysql 8694 Feb 24 2014 INSTALL-BINAR ......(4)、启动MariaDB数据库并测试
启动 MariaDB 数据库
[root@node1 mysql]# service mysqld start Staring mysqld [ OK ]连接测试数据库
[root@node1 mysql]# mysql Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 3 ...... MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | test | +--------------------+ 4 rows in set (0.01 sec)测试在该节点是否能够创建数据库和删除数据库,来检测mysql用户是否有NFS共享文件系统的读写权限的。
创建数据库
MariaDB [(none)]> create database testdb; Query OK, 1 row affected (0.03 sec)删除数据库
MariaDB [(none)]> drop database testdb; Query OK, 0 rows affected (0.00 sec)说明:
在node1节点数据库已经安装成功!
(5)、配置成HA高可用服务的资源不能让它开机自动启动
停止node1节点的数据库服务
[root@node1 mysql]# service mysqld stop Shutting down MySQL.. [ OK ]卸载nfs文件系统
[root@node1 mysql]# umount /mysqldata/由于是提供数据库的高可用的,是不允许开机自动启用数据库服务的。保证开机不会自动启用高可用服务
[root@node1 ~]# chkconfig mysqld off [root@node1 ~]# chkconfig --list mysqld mysqld 0:off 1:off 2:off 3:off 4:off 5:off 6:off2、在node2(192.168.60.128)节点安装数据库
(1)、在node1挂载并测试NFS服务器导出的文件系统
创建挂载点
[root@node2 /]# mkdir mysqldata查看NFS服务器导出的共享文件系统
[root@node2 /]# showmount -e 192.168.60.40 Export list for 192.168.60.40: /mydata 192.168.60.0/24挂载NFS服务器导出的共享文件系统
root@node2 /]# mount -t nfs 192.168.60.40:/mydata /mysqldata/查看是否挂载成功
[root@node2 /]# mount | grep "\/mysqldata" 192.168.60.40:/mydata on /mysqldata type nfs (rw,vers=4,addr=192.168.60.40,clientaddr=192.168.60.128)(2)、安装: MariaDB 数据库
解压到指定目录下
[root@node2 admin]# tar -xf mariadb-5.5.36-linux-x86_64.tar.gz -C /usr/local/为了日后操作维护方便,不直接修改目标名称,给该目录创建一个软链接
[root@node2 admin]# cd /usr/local/ [root@node2 local]# ln -sv mariadb-5.5.36-linux-x86_64 mysql `mysql' -> `mariadb-5.5.36-linux-x86_64' [root@node2 local]# ll mysql lrwxrwxrwx 1 root root 27 Sep 12 22:27 mysql -> mariadb-5.5.36-linux-x86_64由于在node1节点已经初始化过数据库了,该节点无需再次初始化数据库了。
修改数据库程序的属主属组为:root:mysql
[root@node2 mysql]# chown -R root:mysql ./* [root@node2 mysql]# ll total 212 drwxr-xr-x 2 root mysql 4096 Sep 12 21:53 bin -rw-r--r-- 1 root mysql 17987 Jul 22 2013 COPYING -rw-r--r-- 1 root mysql 26545 Jul 22 2013 COPYING.LESSER drwxr-xr-x 3 root mysql 4096 Sep 12 21:53 data drwxr-xr-x 2 root mysql 4096 Sep 12 21:53 docs drwxr-xr-x 3 root mysql 4096 Sep 12 21:53 include(3)、为启动服务库服务准备条件;
为了保证两个节点的数据库的配置一样,从node1节点分别拷贝:配置文件和启动脚本 到node2节点
[root@node1 mysql]# scp /etc/my.cnf node2:/etc/ my.cnf 100% 4929 4.8KB/s 00:00 [root@node1 mysql]# scp -p /etc/init.d/mysqld node2:/etc/init.d/ mysqld 100% 12KB 11.6KB/s 00:00(4)、启动 MariDB 数据库并测试
启动数据库服务
[root@node2 mysql]# service mysqld start Starting MySQL... [ OK ]连接数据库
[root@node2 mysql]# mysql Welcome to the MariaDB monitor. Commands end with ; or \g. ...... Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | test | +--------------------+ 4 rows in set (0.06 sec)说明:
可以连接数据库
测试在该节点是否能够创建数据库和删除数据库,来检测mysql用户是否有NFS共享文件系统的读写权限的。
创建数据库
MariaDB [(none)]> create database testdb; Query OK, 1 row affected (0.03 sec)删除数据库
MariaDB [(none)]> drop database testdb; Query OK, 0 rows affected (0.03 sec)说明:
从上述操作及结果可以得出结论。在node2节点可以正常操作数据库。
(5)、做数据库服务做一些初始化工作;
由于安装数据库的时候会默认添加了一些用户且是没有密码,按照实际情况删除不需要的用户
给保留的用户设置密码,为了管理数据库方便是,设置远程管理数据库的用户。
删除数据库一些默认添加的的用户
MariaDB [(none)]> drop user 'root'@'node1.linuxidc.com'; MariaDB [(none)]> drop user 'root'@'::1'; MariaDB [(none)]> drop user ''@'localhost'; MariaDB [(none)]> drop user ''@'node1.linuxidc.com'; Query OK, 0 rows affected (0.00 sec)给保留的用户添加密码
MariaDB [(none)]> set password for 'root'@'localhost' = password('root'); Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> set password for 'root'@'127.0.0.1' = password('root'); Query OK, 0 rows affected (0.00 sec)添加能够远程管理数据库的用户
MariaDB [(none)]> grant all on *.* to 'admin'@'%.%.%.%' identified by 'admin'; Query OK, 0 rows affected (0.00 sec)修改后的 MariaDB数据库的用户如下:
MariaDB [(none)]> select user,host,password from mysql.user; +-------+-----------+-------------------------------------------+ | user | host | password | +-------+-----------+-------------------------------------------+ | root | localhost | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | | root | 127.0.0.1 | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | | admin | %.%.%.% | *4ACFE3202A5FF5CF467898FC58AAB1D615029441 | +-------+-----------+-------------------------------------------+ 3 rows in set (0.00 sec)刷新授权表
MariaDB [(none)]> flush privileges; Query OK, 0 rows affected (0.01 sec)(6)、配置成HA高可用服务的资源不能让它开机自动启动
停止数据库服务
[root@node2 mysql]# service mysqld stop Shutting down MySQL. [ OK ]卸载挂载的NFS文件系统
[root@node2 mysql]# umount /mysqldata/设置不能开机启动数据库服务
[root@node2 mysql]# chkconfig mysqld off [root@node2 mysql]# chkconfig --list mysqld mysqld 0:off 1:off 2:off 3:off 4:off 5:off 6:off