Linux Mysql如何移动MySQL数据库目录位置?

Linux Mysql如何移动MySQL数据库目录位置?,第1张

假如要把目录移到/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 (加上此行)

7、重新启动MySQL服务

/etc/init.d/mysql start

或用reboot命令重启Linux

如果工作正常移动就成功了,否则对照前面的7步再检查一下。还要注意目录的属主和权限。

1、用dump命令备份数据库。# mysqldump -u root -p dbfile >dbfile.sql2、用rsync从新服务器获得备份的文件(SCP或WGET也可以)。# rsync -avr root@myolddbserver:/home/mydumpfolder/dbfile.sql 3、登陆新服务器的mysql客户端。# mysql -u root -p4. 建立数据库。mysql>create database dbfile5. 选择新数据库mysql>use dbfile6. 加载数据;mysql>source dbfile.sql或者在Mysql程序中有我自己的一个数据库共5张表,里边数据不算太多。我现在想把他们全部弄到另一台电脑中去,该怎么弄,如果不用其它的软件工具,只用Mysql自已的程序不知可否? 注:不用考虑 *** 作系统。 --------------------------------------------------------------- 在dos命令提示符下使用mysqldump命令进行备份. 如下: C:\Documents and Settings\Administrator>mysqldump yinshi >c:\\backup.txt -uroot -p12142022 说明:yinshi是我的数据库名,里面有5张表c:\\backup.txt 是我备份出来文件名和路径 -u,-p参数后面跟的分别是用户名和密码. 将你备份出来的文件我这里是backup.txt拷贝到另一台机上,再在dos命令提示符下用mysql命令,进行恢复,如下: C:\Documents and Settings\Administrator>mysql <c:\\backup.txt -uroot -p12142022 or mysql>source backup.txt(这里backup.txt在放在data目录下) --------------------------------------------------------------- 如果另一台机器上也安装了mysql,可以直接导入 C:\mysql\bin>mysqldump -h172.20.6.250 -udeveloper -p123456 --opt server_databasename | mysql -hlocalhost -uroot -C obj_databasename 172.20.6.250源服务器ip developer源服务器连接用户名 --------------------------------------------------------------- 有两种办法。 1、在B机器上装mysql。将A机器上的mysql/data下的你的数据库目录整个拷贝下来。将B机器上的mysql服务停止。找到B机器上的mysql/data目录,将你拷贝的目录粘贴进去,然后启动mysql服务就可以了。 2、使用SQL语句备份和恢复你可以使用SELECT INTO OUTFILE语句备份数据,并用LOAD DATA INFILE语句恢复数据。这种方法只能导出数据的内容,不包括表的结构,如果表的结构文件损坏,你必须要先恢复原来的表的结构。 语法: SELECT * INTO {OUTFILE | DUMPFILE} ’file_name’ FROM tbl_name LOAD DATA [LOW_PRIORITY] [LOCAL] INFILE ’file_name.txt’ [REPLACE | IGNORE] INTO TABLE tbl_name SELECT ... INTO OUTFILE ’file_name’


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7243098.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存