九: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