MySQL默认的数据文件存储目录为/var/lib/mysql。假如要把目录移到/home/data下需要进行下面几步:
1、home目录下建立data目录 cd /home mkdir data
2、把MySQL服务进程停掉: /usr/local/mysql/bin/mysqladmin -u root -p shutdown
3、把/var/lib/mysql整个目录移到/home/data cp -ra /var/lib/mysql /home/data/ 这样就把MySQL的数据文件带权限的复制到了/home/data/mysql下 5、编辑MySQL的配置文件/etc/my.cnf 为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。 修改socket=/var/lib/mysql/mysql.sock一行中等号右边的值为:/home/data/mysql/mysql.sock 。操作如下: vim /etc/my.cnf (用vi工具编辑my.cnf文件,找到下列数据修改之) # The MySQL server [mysqld] port = 3306 #socket = /var/lib/mysql/mysql.sock(原内容,为了更稳妥用“#”注释此行) socket = /home/data/mysql/mysql.sock (加上此行) 如果这里是这样写着: [mysqld] port = 3306 socket = /tmp/mysql.sock skip-locking key_buffer_size = 16M max_allowed_packet = 1M table_open_cache = 64 那么就不用更改了。保持默认即可!
6、修改MySQL启动脚本/usr/local/mysql/bin/mysqld_safe cp -ra /usr/local/mysql/bin/mysqld_safe /usr/local/mysql/bin/mysqld_safe.bak [root@test1 etc]# vim /usr/local/mysql/bin/mysqld_safe #DATADIR=/var/lib/mysql (注释此行) DATADIR=/home/data/mysql (加上此行) 保存退出。 echo $PATH 查看一下mysql的命令已经那个目录下(通过变量执行方便) cp -ra /usr/local/mysql/bin/mysqld_safe /usr/local/sbin/ 然后复制修改过的启动脚本文件到变量目录下,覆盖。
7、重新启动MySQL服务 mysqld_safe & 或用reboot命令重启Linux 如果工作正常移动就成功了,否则对照前面的7步再检查一下。 |