当前位置:首页 > 有云笔记 > PROJECT2 > 正文内容

项目概述 、 部署数据库服务mysql 、 部署共享存储服务NFS 、 配置网站服务 、 测试配置

小白3年前 (2022-04-02)PROJECT297200

project2_day01

案例1:配置逻辑卷

把数据库服务器的数据存储到逻辑卷(LV),目的是可以动态扩展数据库服务器

硬盘的存储空间

具体步骤如下:

1) 给2台数据库服务器mysql11 和  mysql22  分别添加25G的硬盘

2) 划分物理分区 (/dev/vdb1   /dev/vdc1)

3) 创建物理卷

4)    创建卷组vg0

5)    创建逻辑卷lv0

6)    格式化lv0 (文件系统类型是xfs)

操作命令如下:

4  

systemctl  stop mysqld

5  

yum -y install lvm2

6  

lsblk

7  

pvcreate  /dev/vdb /dev/vdc

8  

vgcreate vg0 /dev/vdb /dev/vdc

9  

vgs

10

 lvcreate  -n lv0  -L 5.99g vg0

11  

lvscan

12  

mkfs.xfs /dev/vg0/lv0

13

 blkid  /dev/vg0/lv0

案例2:配置数据库服务器

具体步骤如下:(2台数据库服务器主机分别做如下操作)

1) 安装 mysql服务软件

2)开机挂载逻辑卷lv0 到数据库目录下

3)启动mysql服务并设置开机启动

4)  查看初始密码并使用初始密码登录

5) 修改数据库管理员密码 并断开连接

6) 使用修改后的密码登录

]# rm -rf /var/lib/mysql/*
]# vim /etc/fstab 
/dev/vg0/lv0    /var/lib/mysql   xfs defaults        0 0
:wq


]# mount -a
]# mount  | grep  "/var/lib/mysql"
]# systemctl start mysqld
]# grep password /var/log/mysqld.log  | tail -1
]# mysqladmin  -uroot -p'Tih:Zehtr57s' password "123qqq...A"
]# mysql -uroot -p123qqq...A

案例3:配置主从同步:(读写分离存储数据时 能让用户存储的数据和查看的是一致)

1) 配置主数据库服务器 mysql11192.168.4.11

具体操作如下:

1)启用binlog日志文件

2) 用户授权

3)查看正在使用的binlog日志名和偏移量 (准备从服务器使用)

mysql11]#  vim /etc/my.cnf
[mysqld]
server_id=11
log_bin=master11
:wq
mysql11]# systemctl  restart  mysqld
mysql11]# mysql  -uroot  -p123qqq...A


mysql> grant   replication  slave  on  *.*  to  repluser@"%" identified by "123qqq...A";
mysql> 
mysql> show master status;
+-----------------+----------+--------------+------------------+-------------------+
| File            | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-----------------+----------+--------------+------------------+-------------------+
| master11.000001 |     1026 |              |                  |                   |
+-----------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

2) 配置从数据库服务器 mysql11192.168.4.22

具体操作如下:

1)指定server_id    (修改配置设置server_id 所以要重启服务)

2)管理员登录数据库服务,指定主服务器信息,指定的信息

包括(ip    用户    密码    日志名  偏移量)

3)启动slave进程

4)查看IO线程和SQL线程的状态(都是Yes 就配置对了) 

mysql22]#  vim /etc/my.cnf
[mysqld]
server_id=22
:wq
mysql11]# systemctl  restart  mysqld
mysql11]# mysql  -uroot  -p123qqq...A

mysql> change master to  master_host="192.168.4.11" , master_user="repluser" , master_password="123qqq...A",
master_log_file="master11.000001" ,  master_log_pos=441;
mysql> start slave;
mysql> show slave status \G
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

案例4:配置读写分离服务:

ip 地址 是 192.168.4.77   主机名maxscal77

把客户端连接后的查询请求给slave 数据库服务器, 写请求master数据库服务器

具体配置步骤如下:

1)安装软件   

yum -y install maxscale-2.1.2-1.rhel.7.x86_64.rpm

2)修改配置文件

vim /etc/maxscale.cnf 
[maxscale]
threads=auto 
[server1]
type=server
address=192.168.4.11
port=3306
protocol=MySQLBackend
[server2]
type=server
address=192.168.4.22
port=3306
protocol=MySQLBackend 
[MySQL Monitor]
type=monitor
module=mysqlmon
servers=server1,server2
user=mysqla
passwd=123qqq...A
monitor_interval=10000

#[Read-Only Service]
#type=service
#router=readconnroute
#servers=server1
#user=myuser
#passwd=mypwd
#router_options=slave
 
[Read-Write Service]
type=service
router=readwritesplit
servers=server1,server2
user=mysqlb
passwd=123qqq...A
max_slave_connections=100%
 
[MaxAdmin Service]
type=service
router=cli
 
 
#[Read-Only Listener]
#type=listener
#service=Read-Only Service
#protocol=MySQLClient
#port=4008
 
 
[Read-Write Listener]
type=listener
service=Read-Write Service
protocol=MySQLClient
port=4006
 
[MaxAdmin Listener]
type=listener
service=MaxAdmin Service
protocol=maxscaled
socket=default
port=4016
:wq

3)配置数据库服务器

只需要在主数据库服务器mysql11 用户 从服务器会自动同步用户

replication slave,  查看主从角色

replication client  查看mysql数据库服务运行状态

[root@mysql11 ~]# mysql -uroot -p123qqq...A
mysql> grant  replication slave , replication client on  *.*  to  mysqla@"%"  identified by "123qqq...A";   #监控用户 
mysql> grant  select  on  *.*  to  mysqlb@"%"  identified by "123qqq...A";  #路由用户

在从数据库服务器查看是否同步授权用户名

[root@mysql22 ~]# mysql -uroot -p123qqq...A            
mysql> select  user from mysql.user where  user="mysqla";
mysql> select  user from mysql.user where  user="mysqlb";

4)  启动maxscale服务 (在maxscale77 主机启动服务)

 [root@maxscale77 ~]# maxscale   /etc/maxscale.cnf

5) 查看maxscale服务状态

[root@maxscale77 ~]# netstat -utnlp  | grep 4016
tcp6       0      0 :::4016                 :::*                    LISTEN      1125/maxscale       
[root@maxscale77 ~]# netstat -utnlp  | grep 4006
tcp6       0      0 :::4006                 :::*                    LISTEN      1125/maxscale       
[root@maxscale77 ~]#

6)查看监控信息(在maxscale77 访问自己的管理服务,查看监控信息)

[root@maxscale77 ~]# maxadmin  -uadmin  -pmariadb -P4016
MaxScale> list servers
Servers.
-------------------+-----------------+-------+-------------+--------------------
Server             | Address         | Port  | Connections | Status              
-------------------+-----------------+-------+-------------+--------------------
server1            | 192.168.4.11    |  3306 |           0 | Master, Running
server2            | 192.168.4.22    |  3306 |           0 | Slave, Running
-------------------+-----------------+-------+-------------+--------------------
MaxScale> exit
[root@maxscale77 ~]#

 案例5:准备NFS服务存储磁盘

IP 192.168.4.30主机提供nfs服务 ,存储网站web33的网页文件

步骤一

1)添加13G 磁盘

2)  磁盘分区 (分一个区  /dev/vdb1)

3)  格式化

[root@NFS30 ~]# lsblk  #分区前查看
[root@NFS30 ~]# fdisk /dev/vdb -> n -> p -> 三个回车-> w 
[root@NFS30 ~]# lsblk  #分区后查看
NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda    253:0    0  30G  0 disk 
└─vda1 253:1    0  30G  0 part /
vdb    253:16   0   3G  0 disk 
└─vdb1 253:17   0   3G  0 part
[root@NFS30 ~]# mkfs.xfs  /dev/vdb1

步骤二:挂载磁盘

[root@NFS30 ~]# mkdir /sitedir
[root@NFS30 ~]# vim /etc/fstab 
/dev/vdb1       /sitedir        xfs     defaults        0 0
:wq 
[root@NFS30 ~]# mount -a
[root@NFS30 ~]# mount | grep  -i  "/sitedir"
/dev/vdb1 on /sitedir type xfs (rw,relatime,attr2,inode64,noquota)
[root@NFS30 ~]#

案例6:配置NFS服务 (192.168.4.30 把目录共享给客户端 )

 1)安装软件

 2)修改配置文件

 3) 启动服务 (先启动rpcbind服务 再启动nfs服务)

 4)查看共享信息

[root@NFS30 ~]#  yum -y install nfs-utils rpcbind
[root@NFS30 ~]# vim /etc/exports
/sitedir  *(rw)
:wq
[root@NFS30 ~]# chmod o+w /sitedir/
 
[root@NFS30 ~]# systemctl  restart rpcbind
[root@NFS30 ~]# systemctl  enable rpcbind
[root@NFS30 ~]# systemctl  restart nfs
[root@NFS30 ~]# systemctl  enable nfs
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.
[root@NFS30 ~]# showmount  -e localhost
Export list for localhost:
/sitedir *
[root@NFS30 ~]#

案例7:配置网站服务192.168.4.33 主机名web33

1)安装软件apache-tomcat-8.0.30.tar.gz  (使用tomcatr软件提高的网站服务)

2)挂载nfs服务的共享目录(把网站的网页存放的nfs30主机里)

3)查看挂载

4) 启动tomcat服务

5) 查看tomcat服务运行信息

yum -y install java-1.8.0-openjdk
tar -xf apache-tomcat-8.0.30.tar.gz 
mv apache-tomcat-8.0.30 /usr/local/tomcat
rm -rf  /usr/local/tomcat/webapps/ROOT/*
which showmount ||  yum -y install nfs-utils
 
[root@web33 ~]# showmount  -e 192.168.4.30
Export list for 192.168.4.30:
/sitedir *
[root@web33 ~]#
 
[root@web33 ~]# vim  /etc/fstab 
192.168.4.30:/sitedir   /usr/local/tomcat/webapps/ROOT nfs defaults        0 0
:wq
 
[root@web33 ~]# mount -a
[root@web33 ~]# df -h

文件系统               容量  已用  可用 已用% 挂载点

/dev/vda1               30G  1.4G   29G    5% /
devtmpfs               697M     0  697M    0% /dev
tmpfs                  707M     0  707M    0% /dev/shm
tmpfs                  707M  8.5M  699M    2% /run
tmpfs                  707M     0  707M    0% /sys/fs/cgroup
tmpfs                  142M     0  142M    0% /run/user/0
192.168.4.30:/sitedir  3.0G   32M  3.0G    2% /usr/local/tomcat/webapps/ROOT    #已经挂载
[root@web33 ~]# 
[root@web33 ~]# /usr/local/tomcat/bin/startup.sh  ^C
[root@web33 ~]# 
[root@web33 ~]# netstat  -utnlp  | grep :8080
tcp6       0      0 :::8080                 :::*                    LISTEN      1371/java           
[root@web33 ~]#

案例8:测试配置

、测试NFS服务

[root@web33 ~]# netstat  -utnlp  | grep 8080
tcp6       0      0 :::8080                 :::*                    LISTEN      1829/java           
[root@web33 ~]# vim /usr/local/tomcat/webapps/ROOT/test.html
[root@web33 ~]# cat /usr/local/tomcat/webapps/ROOT/test.html
web test page
[root@web33 ~]#
[root@web33 ~]#  
[root@web33 ~]# curl  http://localhost:8080/test.html
web test page
[root@web33 ~]#

二、测试MySQL服务

2.1、 在主数据库服务器mysql11 做如下配置

[root@mysql11 ~]# mysql -uroot -p123qqq...A
create database gamedb;
create  table  gamedb.user ( name  char(10) , password char(6));
grant  select, insert  on  gamedb.*  to  yaya@"%" identified by "123qqq...A";

 2.2、在从服务器 检查是否同步库表 和  授权用户

[root@mysql22 ~]# mysql -uroot -p123qqq...A -e 'desc gamedb.user'
[root@mysql22 ~]# mysql -uroot -p123qqq...A -e 'select user from mysql.user where  user="yaya"'

2.3 在网站服务器命令行 连接 maxscale77

web33]# yum  -y  install mariadb 
web33]# mysql  -h192.168.4.77 -P4006  -uyaya  -p123qqq...A
mysql>exit ;

三、测试Tomcat连接MySQL服务(在网页目录下编写网站脚本文件 访问数据库服务)

1)在网站服务器做如下配置

[root@web33 ~]# yum -y install mysql-connector-java
[root@web33 ~]# cp /usr/share/java/mysql-connector-java.jar /usr/local/tomcat/lib/
[root@web33 ~]# /usr/local/tomcat/bin/shutdown.sh
[root@web33 ~]# /usr/local/tomcat/bin/startup.sh

2)编写网站脚本(在nfs服务共享目录编写网页文件)

[root@nfs30 ~]# vim /sitedir/linkdb.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@ page import="java.naming.*" %>
<%@ page import="java.sql.*" %>
<%
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://192.168.4.77:4006","yaya","123qqq...A");
Statement state=con.createStatement();
String sql="insert into gamedb.user values('bbb','654321')";
state.executeUpdate(sql);
%>
data save ok
:wq

3)在浏览器地址栏里输入网站访问 或 命令行连接访问 都可以

[root@NFS30 ~]# curl  http://192.168.4.33:8080/linkdb.jsp     
data save ok

4)在据库服务器查看数据 (可以查看到linkdb.jsp 脚本里 Insert into 命令添加的记录 )

[root@mysql11 ~]# mysql -uroot -p123qqq...A -e 'select * from gamedb.user'
mysql: [Warning] Using a password on the command line interface can be insecure.
+------+----------+
| name | password |
+------+----------+
| bbb  | 654321   |
+------+----------+
[root@mysql11 ~]#

[root@mysql22 ~]# mysql -uroot -p123qqq...A -e 'select  * from gamedb.user'
mysql: [Warning] Using a password on the command line interface can be insecure.
+------+----------+
| name | password |
+------+----------+
| bbb  | 654321   |
+------+----------+
[root@mysql22 ~]#

over 


项目概述 、 部署数据库服务mysql 、 部署共享存储服务NFS 、 配置网站服务 、 测试配置  您阅读本篇文章共花了: 

分享到:

    扫描二维码推送至手机访问。

    版权声明:本文由有云转晴发布,如需转载请注明出处。

    本文链接:https://yyzq.eu.org/?id=156

    分享给朋友:

    发表评论

    访客

    ◎欢迎参与讨论,请在这里发表您的看法和观点。