最近测试vertica列式数据仓库的需要,需将原来几台运行MySQL服务的linux服务器中的逻辑卷降为物理分区并重新创建文件系统。
服务器置维护
备份原来的数据
停掉mysql服务
卸载逻辑卷
sudo umount /dev/mapper/VolGroup01-LogVol00
注释掉
mount -o noatime,nodiratime,nobarrier,logbufs=8 /dev/VolGroup01/LogVol00 /data
移除逻辑卷
sudo lvs
sudo lvremove LogVol00 VolGroup01
移除卷组
sudo vgs
sudo vgremove VolGroup01
移除物理卷
sudo pvs
sudo pvremove /dev/cciss/c0d1p1
在物理分区创建文件系统
sudo mkfs.ext3 /dev/cciss/c0d1p1
挂载分区
sudo mount /dev/cciss/c0d1p1 /data
挂在命令写进启动文件
sudo vim /etc/rc.local
mount /dev/cciss/c0d1p1 /data(要在mysql启动命令之前)
检查MySQL配置文件
恢复数据
重启服务
一些问题:
若使用一个全新的不含任何文件的目录作为MySQL新的数据目录,则首先要将其用户和组设置为mysql,另外要运行mysql_install_db初始化数据库,注意指定用户名和数据目录信息
sudo mysql_install_db --user=mysql --datadir=/var/lib/mysql
创建过程可能需要临时目录并需要相应权限,根据错误提示建好目录将用户和组设置为mysql即可。mysql启动过程中遇到的问题多半都是目录和权限问题。如:
[ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
ERROR 1005 (HY000): Can't create table 'tmp' (errno: 13)