DRBD+Corosync+Pacemaker实现MySQL服务器的高可用性群集(3)

九:mysql的安装和配置

1:node1上的配置

添加用户和组:

# groupadd -r mysql

# useradd -g mysql -r mysql

由于主设备才能读写,挂载,故我们还要设置node1为主设备,node2为从设备:

node2上操作:

# drbdadm secondary mysql

node1上操作:

# drbdadm primary mysql

[root@node1 ~]# drbd-overview

0:mysql Connected Primary/Secondary UpToDate/UpToDate C r----

挂载drbd设备:

# mount /dev/drbd0 /mysqldata

# mkdir /mysqldata/data

data目录要用存放mysql的数据,故改变其属主属组:

# chown -R mysql.mysql /mysqldata/data/

查看:

# ls /mysqldata/

data 

lost+found

mysql的安装;

# tar zxvf mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local

# cd /usr/local/

# ln -sv mysql-5.5.15-linux2.6-i686  mysql

# cd mysql

# chown -R mysql:mysql  .

初始化mysql数据库:

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

# chown -R root  .

为mysql提供主配置文件:

# cp support-files/my-large.cnf  /etc/my.cnf

并修改此文件中thread_concurrency的值为你的CPU个数乘以2,比如这里使用如下行:

# vim /etc/my.cnf

thread_concurrency = 2

另外还需要添加如下行指定mysql数据文件的存放位置:

datadir = /mysqldata/data

为mysql提供sysv服务脚本,使其能使用service命令:

# cp support-files/mysql.server  /etc/rc.d/init.d/mysqld

node2上的配置文件,sysv服务脚本和此相同,故直接复制过去:

# scp /etc/my.cnf node2:/etc/

# scp /etc/rc.d/init.d/mysqld node2:/etc/rc.d/init.d

添加至服务列表:

# chkconfig --add mysqld

确保开机不能自动启动,我们要用CRM控制:

# chkconfig mysqld off

而后就可以启动服务测试使用了:

# service mysqld start

测试之后关闭服务:

# ls /mysqldata/data  查看其中是否有文件

[root@node1 mysql]# ls /mysqldata/data/

ib_logfile0 ibdata1 mysql-bin.000001 node1.inuxidc.com.err performance_schema

ib_logfile1 mysql mysql-bin.index node1.inuxidc.com.pid test

# service mysqld stop

为了使用mysql的安装符合系统使用规范,并将其开发组件导出给系统使用,这里还需要进行如下步骤:

输出mysql的man手册至man命令的查找路径:

# vim /etc/man.config

添加如下行即可:

MANPATH  /usr/local/mysql/man

输出mysql的头文件至系统头文件路径/usr/include,这可以通过简单的创建链接实现:

# ln -sv /usr/local/mysql/include  /usr/include/mysql

输出mysql的库文件给系统库查找路径:(文件只要是在/etc/ld.so.conf.d/下并且后缀是.conf就可以)

# echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf

而后让系统重新载入系统库:

# ldconfig

修改PATH环境变量,让系统所有用户可以直接使用mysql的相关命令:

#vim /etc/profile

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

. /etc/profile 重新读取环境变量

[root@node1 mysql]# echo $PATH

/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin

卸载drbd设备:

# umount /mysqldata

2,node2上的配置:

添加用户和组:

# groupadd -r mysql

# useradd -g mysql -r mysql

由于主设备才能读写,挂载,故我们还要设置node2为主设备,node1为从设备:

node1上操作:

# drbdadm secondary mysql

node2上操作:

# drbdadm primary mysql

挂载drbd设备:

# mount /dev/drbd0 /mysqldata

查看:

# ls /mysqldata/

data  lost+found

mysql的安装;

# tar zxfv mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local

# cd /usr/local/

# ln -sv mysql-5.5.15-linux2.6-i686  mysql

# cd mysql

一定不能对数据库进行初始化,因为我们在node1上已经初始化了:

# chown -R root:mysql  .

mysql主配置文件和sysc服务脚本已经从node1复制过来了,不用在添加。

添加至服务列表:

# chkconfig --add mysqld

确保开机不能自动启动,我们要用CRM控制:

# chkconfig mysqld off

而后就可以启动服务测试使用了:(确保node1的mysql服务停止)

# service mysqld start

测试之后关闭服务:

# ls /mysqldata/data  查看其中是否有文件

[root@node2 mysql]# ls /mysqldata/data/

ib_logfile0 ibdata1 mysql-bin.000001 mysql-bin.index node2.inuxidc.com.err performance_schema

ib_logfile1 mysql mysql-bin.000002 node1.inuxidc.com.err node2.inuxidc.com.pid test

# service mysqld stop

为了使用mysql的安装符合系统使用规范,并将其开发组件导出给系统使用,这里还需要进行一些类似node1上的操作,由于方法完全相同,不再阐述!

卸载设备:

# umount /dev/drbd0

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/8b6c538d0c48b67533fce40236229b65.html