mysqld使用rosa双机软件共享数据目录
服务器操作系统redhat as 5.3 ,mysql 5.0.45 ,rose ha 8.0
两台机器共享存储上的1T空间,mysql数据目录放置在存储上
设备 /dev/sdh ,mount点/mnt/sdh
1、修改mysqld 数据目录
mount /dev/sdh /mnt/sdh
mkdir /mnt/sdh/data
chown -R mysql:mysql /mnt/sdh/data
cp -a /var/lib/mysql /mnt/sdh/data
2、修改my.cnf文件
[root@localhost1 ~]# vi /etc/my.cnf
[mysqld]
datadir=/mnt/sdh/data
socket=/var/lib/mysql/mysql.sock (socket文件可以不改)
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
2、更改selinux 的相关mysql的设置
setsebool -P allow_user_mysql_connect 1
setsebool -P mysqld_disable_trans 1
推荐修改/etc/selinux/config,将SELINUX=enforcing修改为SELINUX=disable.
(我在这个问题上耽误了很长时间,mysql不能启动,日志显示Warning] Can’t create test file /var/lib/mysql/trinity.lower-test 把数据目录chcon -R -h -t mysqld_db_t也不行,折腾很长时间才发现是selinux的问题。)
3、修改/etc/init.d/mysqld
将datadir “/var/lib/mysql”修改为datadir “/mnt/sdh/data/mysql”
4、配置rose ha软件。
在更改mysql目录时曾经碰到很多问题,
1 error 13 的的问题 (权限问题,使用chown -R mysql:mysql 数据目录)
2、Can’t open and lock privilege tables: Table ‘mysql.host’ doesn’t exist (文件实际存在)
3、/usr/local/mysql/libexec/mysqld: Table ‘mysql.host’ doesn’t exist (文件实际存在)
第 2个问题和第3个问题是出现在把/var/lib/mysql目录复制到新的目录后无法service mysqld start,很奇怪数据在/var/lib/mysql 目录一点儿问题也没有,但只有复制到/mnt/sdh/data目录后就出错,检查了半天,最后通过 mysql_install_db –user=mysql 后正常。
本文转自gaodi2002 51CTO博客,原文链接:http://blog.51cto.com/gaodi2002/1618143