文章链接:http://www.pc811.com/6/1/26076.html
第1步:使用第三方软件SSH成功登录到centos系统。
第2步:首先先停止掉mysql服务,在终端中执行“/etc/init.d/mysql stop”并回车确定。如果提示“Shutting down MySQL. SUCCESS!”就说明已经成功停止了mysql服务了。
第3步:修改mysql配置文件,执行“vi /etc/my.cnf”命令并确定。
第4步:在打开的mysql数据库配置文件中,找到“datadir”这一行代码,查后面中的路径,并记下。
电脑互助网注:datadir是现在正在使用的mysql数据库存放目录地址。
第5步:输入“:”(冒号),并输入“q!”并确定,退出vi编辑。
电脑互助网注: 如果已经进入了INSERT编辑模式的话,需要先按一下“ESC”键,然后再执行“:q!”命令。原文网址http://www.pc811.com/6/1/26070.html
第6步:把原来mysql数据库目录文件全部都复制到新的数据库目录中,在终端执行“cp -r /usr/mysql/var /mnt/mysqldata”并确定。
电脑互助网注:cp -r是复制文件夹的命令,第一个参数是需要复制的目录地址,第二个参数是需要复制到的目录地址。
第7步:将原来的mysql数据库文件复制到新的目录之后,再次执行“vi /etc/my.cnf”命令修改mysql数据库配置文件。
第8步:此时,我们只能看看mysql的配置文件,却是不能修改的,需要按一下键盘中的“I”键,当左下角中提示“--INSERT--”时就说明是可以修改mysql配置文件了,否则是无法修改的。
第9步:找到“datadir”、“innodb_data_home_dir”、“innodb_log_group_home_dir”都修改到最新的mysql数据库目录地址。
第10步:最后一步,保存mysql配置,按一下ESC键,并输入“:wq!”(冒号wq!) ,并回车确定。
第11步:修改完毕mysql配置文件之后,重启mysql数据库,刚刚修改的mysql配置即可生效,而生效后的mysql数据库存放目录就已经改成新的路径了。
其中我的mysql数据文件原始目录是/usr/local/mysql/data
/usr/mysql/var 改成 /usr/local/mysql/data
chgrp -R mysql /usr/local/mysql/data && chown -R mysql /usr/local/mysql/data
最后执行下
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/sunto/mysqldata/data
其中中途遇到了问题
Starting MySQL. ERROR! The server quit without updating PID file (/usr/local/mysql/data/AY12122808152158ea209.pid).
在/usr/local/mysql/data 下找到mysql错误文件 ****.err,浏览到最后面,发现有一句:
./mysql-bin.index' not found (Errcode: 13)
提示./mysql-bin.index无法找到(由于mysql开启了bin日志功能),到数据库根目录查看该文件是存在的,可能是文件权限的问题,然后使用下面的命令给数据库目录 /usr/local/mysql/data 赋予 mysql 权限:
chgrp -R mysql /usr/local/mysql/data && chown -R mysql /usr/local/mysql/data
再次启动mysql:/etc/init.d/mysqld start ,一切正常。
下面一片为参考别人的博文,最开始我是成功过,不过后面就没有实验成功过。不推荐采纳
原文:http://www.cnit618.com/html/fwdkf/data/2111.htm
linux下,MySQL默认的数据文档存储目录为/var/lib/mysql。假如要把MySQL目录移到/home/data下需要进行下面几步:
1、home目录下建立data目录
cd /home
mkdir data
2、把MySQL服务进程停掉:
mysqladmin -u root -p shutdown
3、把/var/lib/mysql整个目录移到/home/data
mv /var/lib/mysql /home/data/
这样就把MySQL的数据文档移动到了/home/data/mysql下
4、找到my.cnf配置文档
假如/etc/目录下没有my.cnf配置文档,请到/usr/share/mysql/下找到*.cnf文档,拷贝其中一个到/etc/并改名为my.cnf)中。命令如下:
[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
5、编辑MySQL的配置文档/etc/my.cnf
为确保MySQL能够正常工作,需要指明mysql.sock文档的产生位置。修改socket=/var/lib/mysql/mysql.sock一行中等号右边的值为:/home/mysql/mysql.sock 。操作如下:
vi my.cnf (用vi工具编辑my.cnf文档,找到下列数据修改之)
# The MySQL server
[mysqld]
port = 3306
#socket = /var/lib/mysql/mysql.sock(原内容,为了更稳妥用“#”注释此行)
socket = /home/data/mysql/mysql.sock (加上此行)
6、修改MySQL启动脚本/etc/init.d/mysql
最后,需要修改MySQL启动脚本/etc/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等号右边的路径改成您现在的实际存放路径:home/data/mysql。
[root@test1 etc]# vi /etc/init.d/mysql
#datadir=/var/lib/mysql (注释此行)
datadir=/home/data/mysql (加上此行)
如果是CentOS还要改 /usr/bin/mysqld_safe 相关文件位置;
7、重新启动MySQL服务
/etc/init.d/mysql start
或用reboot命令重启Linux
假如工作正常移动就成功了,否则对照前面的7步再检查一下。还要注意目录的属主和权限。
复制内容到剪贴板
代码:
[root@sample ~]# chown -R mysql:mysql /home/data/mysql/ ← 改变数据库的归属为mysql
[root@sample ~]# chmod 700 /home/data/mysql/test/ ← 改变数据库目录属性为700
[root@sample ~]# chmod 660 /home/data/mysql/test/* ← 改变数据库中数据的属性为660