在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。