在CentOS 6上规划和部署MySQL Server 5.1

时间:2020-01-09 10:43:02  来源:igfitidea点击:

1.准备储存

  • 为数据库文件系统安装创建目录。
mkdir -p /Databases/data
mkdir /Databases/logs
  • 使用fdisk在第二个驱动器上创建新分区。根据服务器中安装的磁盘类型,设备文件名会有所不同。
fdisk /dev/sdb
  • 键入n,然后按Enter以创建一个新分区。
  • 出现提示时,为主要输入p,然后按Enter。
  • 出现提示时,为分区号1键入1,然后按Enter。
  • 接受第一个气缸和最后一个气缸的默认设置。
  • 输入w保存新分区。
  • 对磁盘3(/ dev / sdc)重复-7.
  • 在sdb的新创建分区上创建文件系统。
mkfs.ext4 /dev/sdb1
  • 在sdc的新创建分区上创建文件系统。
mkfs.ext4 /dev/sdc1
  • 现在已经创建了文件系统,我们需要在文本编辑器中编辑fstab以启用自动挂载。
vi /etc/fstab
  • 在fstab中添加以下行,以在启动时将磁盘2自动挂载到/ Databases / data并将磁盘3挂载到/ Databases / logs。
# MySQL Data and Logs
/dev/sdb1       /Databases/data      ext4     defaults     1 2
/dev/sdc1       /Databases/logs      ext4     defaults     1 2
  • 保存更改并退出文本编辑器。
  • 重新加载安装点以安装我们刚刚创建的两个。
mount -a
  • 通过运行安装,验证两个驱动器是否已安装到它们的安装点。
mount
  • 如果已安装驱动器,我们将在mount生成的输出中看到以下几行。
/dev/sdb1 on /Databases/data type ext4 (rw)
/dev/sdc1 on /Databases/logs type ext4 (rw)

2.网络接口

为了防止由于网络接口故障而导致的停机,应在主动/被动配置中的至少两个接口之间创建绑定。这样,如果一个端口出现故障或者拔下电缆,服务器仍然可以处理数据库请求。

应该为服务器管理添加一个额外的接口。这使管理员可以管理服务器而不受数据库流量的影响,反之亦然。

|单元格不一致|

如上表所示,我已经包括了每个网络接口卡的MAC地址。该地址对于确保将接口显式分配给正确的设备文件至关重要。在配置中不要使用此信息。下一个任务将需要它。

2.1创建管理网络接口(eth0)

  • 导航到/ etc / sysconfig / networking并创建一个名为ifcfg-eth0的新文件。
cd /etc/sysconfig/network-scripts
touch ifcfg-eth0
  • 在文本编辑器中打开ifcfg-eth0。
vi ifcfg-eth0
  • 添加以下行。
DEVICE=eth0
HWADDR=00:0C:29:4C:4E:6C
IPADDR=172.30.0.20
NETMASK=255.255.255.0
GATEWAY=172.30.0.1
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
  • 保存更改并退出文本编辑器。
  • 重新启动界面以应用设置。
ifdown eth0
ifup eth0

2.2创建数据库访问网络接口(bond0)

  • 导航到/ etc / sysconfig / networking并创建一个名为ifcfg-bond0的新文件。
cd /etc/sysconfig/network-scripts
touch ifcfg-bond0
  • 在文本编辑器中打开ifcfg-bond0。
vi ifcfg-bond0
  • 添加以下行。
DEVICE=bond0
IPADDR=172.30.1.143
NETMASK=255.255.255.0
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
BONDING_OPTS="miimon=80 mode=1"
  • 保存更改并退出文本编辑器。
  • 为#2以太网接口创建一个新脚本。
touch ifcfg-eth1
  • 在文本编辑器中打开ifcfg-eth1.
vi ifcfg-eth1
  • 添加以下行。
DEVICE=eth1
HWADDR=00:0C:29:4C:4E:76
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
MASTER=bond0
SLAVE=yes
  • 保存更改并退出文本编辑器。
  • 为#3以太网接口创建一个新脚本。
touch ifcfg-eth2
  • 将ifcfg-eth2打开到文本编辑器中。
vi ifcfg-eth2
  • 添加以下行。
DEVICE=eth2
HWADDR=00:0C:29:4C:4E:76
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
MASTER=bond0
SLAVE=yes
  • 保存更改并退出文本编辑器。
  • 调出新的bond0界面
ifup bond0
  • 运行ifconfig以验证接口是否已启动并正确配置。如果我们正在关注我们的确切IP设置,则输出应类似于以下内容。

2.3路由解决方法

我们的服务器现在是多宿主的。我们可以从环境中的任何网络连接到管理接口,但是只有连接到数据库接口172.30.1.0/24时,我们才能连接到数据库接口。该接口没有默认路由,因此无法响应其他网络的请求。

我们可以通过为每个接口创建IP路由表来解决此路由问题。

  • 为名为MySQL的接口bond0创建路由表。
echo -e "200 MySQL" >> /etc/iproute2/rt_tables
  • 明确定义接口bond0的路由表和默认网关。
echo "default table MySQL via 172.30.1.1" > /etc/sysconfig/network-scripts/route-bond0
  • 创建一个规则,告诉bond0将表MySQL用于所有现有流量。
echo "from 172.30.1.143 table MySQL" > /etc/sysconfig/network-scripts/rule-bond0
  • 重新启动网络服务以应用我们的更改。
service network restart

2.4. 将SSH绑定到管理界面

我们希望迫使每个人都通过管理界面通过SSH进入我们的服务器,以免干扰数据库查询流量。

  • 将SSH的配置文件打开到文本编辑器中。
vi /etc/ssh/sshd_config
  • 添加或者修改ListenAddress选项并将其指向我们的管理IP。
ListenAddress 172.30.0.20
  • 保存更改并退出文本编辑器。
  • 重新启动SSH守护程序以应用我们的更改。
service sshd restart

3.安装和配置MySQL服务器

准备好网络和存储后,我们终于可以继续安装MySQL。

  • 安装MySQL服务器
yum install -y mysql-server
  • 将数据库目录及其子目录的用户和所有者更改为mysql。
chown mysql:mysql -R /Databases
  • 将MySQL的数据目录内容及其安全性上下文复制到新目录中。
cp -R -p /var/lib/mysql/data/* /Databases/data
  • 将MySQL的配置文件打开到文本编辑器中。
vi /etc/my.cnf
  • 修改MySQL的配置文件,以将新数据目录显式设置到我们的新位置。
datadir=/Databases/data
  • 将MySQL绑定到我们的数据库网络设备bond0。我们不希望通过管理网络界面允许连接。
bind-address=172.30.1.143
  • 启动MySQL守护程序。
service mysqld start
  • 如果一切正确,MySQL应该启动。如果不是,请检查MySQL日志文件以查看启动失败的原因。最可能的原因是新创建的MySQL目录的用户/组所有权和SELINUX上下文问题。默认的MySQL日志文件是/ var / log / mysqld。