读书人

windows azure虚拟机CentOS停更改mysq

发布时间: 2013-07-20 11:07:48 作者: rapoo

windows azure虚拟机CentOS下更改mysql存储位置

? ? ? ?

??????? 此次迁移,参照的教程为:http://wenku.baidu.com/view/e6bbe717cc7931b765ce15cc.html

? ? ? ? 这个教程是我所找到的最好的一个。我这次是迁移的一个空的数据库,教程中迁移的是一个有数据的数据库,如果你的数据库中有数据,可以按教程中的步骤做,过程中碰到的问题,可以在本篇博客中查找。

?

??????? 把 mysql 存储目录更改到/data/mysql ?

??????? 先停下mysql的服务。使用命令: service mysqld stop。

??????? 1, 首先找到/etc/my.cnf,备份一下,修改其中的

???????????? datadir=/var/lib/mysql
???????????? socket=/var/lib/mysql/mysql.sock

??????? 为要迁移到的目录
???????????? datadir=/data/mysql
???????????? socket=/data/mysql/mysql.sock

??????? 接下来,要把/var/lib/mysql这个目录,整个拷贝到/data下面。可以用命令 cp -arp /var/lib/mysql/ /data/。

??????? 启动一下mysql试试( service mysqld start ),同时观察mysql的启动日志(/var/log/mysqld.log)。

??????? 启动应该没问题,如果出现如下类似的警告:Can't create test file /data/mysql/****.lower-test。这个是权限的问题,在我拷贝mysql目录的时候使用的命令是:cp -arp 其中-a是把权限也一起拷贝过来。不会有权限问题,如果出现这个警告,先看一下是不是拷贝的时候命令中没有加 -a ,如果加了还不行,可以看一下这篇文章:http://www.huoxingfan.com/834.html 。不保证可以改好。

???????? 2,启动没问题的话,尝试连接一下mysql数据库 。 mysql -u root -p 。报错:Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'。此时,需要建立一个mysql.sock的链接:
??????? ln?-s?/data/mysql/mysql.sock?/var/lib/mysql/mysql.sock

??????? 然后再连接一下mysql数据库, mysql -u root -p。这次成功了。

??????? 3,成功之后,我们尝试在mysql中建立一个数据库move_test。建成之后,可以用 ls 命令查看一下/data/mysql 发现下面多了一个move_test的文件夹。到这里,我就默认为迁移成功了。

??????? 4,大部分的教程还有两部分,即修改 /etc/init.d/mysqld 文件和 /usr/bin/mysqld_safe 文件,这两个文件上面给出的教程中讲的很详细,不再赘述。具体修改的原因我也不知道,所以我不敢不改,也不知道为啥要改。如果以后有机会弄明白了再来添加吧。

?

?

??????? 小菜鸟要努力学习,欢迎大神批评指正

?

?

读书人网 >操作系统

热点推荐