当前位置:首页 » 数据仓库 » mysql数据库文件转移
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

mysql数据库文件转移

发布时间: 2023-08-05 04:53:32

① 急:我的MYsql数据库装在C盘的,怎么移到D盘啊

1、首先在桌面上双击打开“此电脑”软件。

② CentOS7下mysql数据库的迁移

想知道你的mysql装在哪里吗?CentOS7一般是装在/var/lib/mysql中的

在完成迁移之前,先用下面的指令来停止mysqld服务

service mysqld stop,或者直接点sudo systemctl stop mysqld

然后用df-h指令看服务器上剩余空间是多少,假设我们新挂了一块500G的硬盘到/data上

那么请把mysql整个文件夹拷贝到/data中,像下面这样:

sudo cp -rf /var/lib/mysql /data/mysql,拷完以后原来的mysql文件夹就可以删除了

然后再修改/etc/my.cnf,这个也是需要su的:

sudo vi /etc/my.cnf

里面有一个字段叫[mysqld],将datadir和socket修改成这样:

datadir=/data/mysql

socket=/data/mysql/mysql.sock

接下来,有的人说要修改/etc/init.d/mysqld,但我的服务器不需要,直接通过

service mysqld start就可以启动SQL服务了,远程也可以连接上,但是:

当你使用终端mysql -u root -p的时候,就会报下面这个错:

Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'

这个时候,你有两种解决办法,一种是造一个软连接

ln -s /data/mysql/mysql.sock /var/lib/mysql/mysql.sock,原因是你已经删掉之前的mysql目录了

另外一种办法,是在/etc/my.cnf下面新建一个新字段:

[mysql]

socket=/data/mysql/mysql.sock

第一种方法不需要重启mysql server,第二种方法需要重启mysql server,

然后,你就可以成功地从终端里进入mysql了

敲黑板,不要在[mysql]下面自做主张地写上datadir=/data/mysql,这样会导致本地命令行登录时报错:Unknown Variable: datadir=/data/mysql

③ mysql数据库如何转移呢

mysql标准化的迁移工具是mysqlmp.exe、mysqlimport.exe,你运行这两个工具,使用--help就可以知道怎么使用了,他们用来把MYSQL数据库转换为文本文件,以及把文本文件导入到新的MYSQL数据库中。事实上这个文本文件可以导入到其它非MYSQL数据库里面,比如INFORMIX、DB2等,需要简单写一下SQL语句即可。

不过,我的服务器多次升级和迁移中测试发现,MYSQL数据库文件是可以拷贝的,也就是二进制兼容的,包括我在FreeBSD、LINUX、WINDOWS之间迁移数据都是成功的。

④ Linux 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 (加上此行)

7、重新启动MySQL服务

/etc/init.d/mysqlstart

或用reboot命令重启Linux

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

⑤ mysql把一个数据库中的数据复制到另一个数据库中的表 2个表结构相同

1、使用软件Navicat就可迁移复制数据库,打开Navicat,右键点击左边空白的地方,点击New Connection下的MySQL,创建一个服务器的连接,下面将演示把本地的数据迁移到服务器:

⑥ 如何迁移MySQL数据库

MySQL数据库迁移
MySQL数据库迁移(数据文件直接迁移)
在今年10月下旬的时候,公司的服务器需要迁移,其中涉及到了MySQL数据库迁移。查看了一下MySQL数据文件的大小,接近60G的大小(实际数据并没用那么多)。由于服务器上业务需要,要尽量减少服务器迁移时的损失。所以迁移时间选在了晚上零点开始,而且要尽量减少迁移所用的时间。
在迁移之前有三种方案:
数据库直接导出,拷贝文件到新服务器,在新服务器上导入。
使用【MySQL
GUI
Tools】中的
MySQLMigrationTool。
数据文件和库表结构文件直接拷贝到新服务器,挂载到同样配置的MySQL服务下。
我在我的电脑上用虚拟机测试后,选中了占用时间最少的第三种方案。下面是三种方案的对比:
第一种方案的优点:会重建数据文件,减少数据文件的占用空间。
第一种方案的缺点:时间占用长。(导入导出都需要很长的时间,并且导出后的文件还要经过网络传输,也要占用一定的时间。)
第二种方案的优点:设置完成后传输无人值守
第二种方案的缺点:
设置繁琐。
传输中网络出现异常,不能及时的被发现,并且会一直停留在数据传输的状态不能被停止,如不仔细观察不会被发现异常。
传输相对其他fang时间长。
异常后很难从异常的位置继续传输。
第三种方案的优点:时间占用短,文件可断点传输。操作步骤少。(绝大部分时间都是在文件的网络传输)
第三种方案的缺点:可能引起未知问题,暂时未发现。
下面介绍一下第三种方案d迁移步骤:
保证Mysql版本一致,安装配置基本一致(注意:这里的数据文件和库表结构文件都指定在同一目录data下)
停止两边的Mysql服务(A服务器--迁移-->B服务器)
删除B服务器Mysql的data目录下所有文件
拷贝A服务器Mysql的data目录下除了ib_logfile和.err之外的文件到B服务器data下
启动B服务器的Mysql服务,检测是否发生异常
迁移完成后,服务启动正常,未发现其他异常问题。
备注:经测试,源mysql的安装目录及数据文件目录
可以与
目标Mysql的安装目录及数据文件目录
不一致。
此时,只需要拷贝您所需移动的dbname(如上:pa、testdb)及'mysql'和'ibdata1',即可。

⑦ 怎样用命令行把MySQL数据库迁移到另一台Linux服务器

1、用mp命令备份数据库。
# mysqlmp -u root -p dbfile > dbfile.sql
2、用rsync从新服务器获得备份的文件(SCP或WGET也可以)。
# rsync -avr root@myolddbserver:/home/mympfolder/dbfile.sql
3、登陆新服务器的mysql客户端。
# mysql -u root -p
4. 建立数据库。
mysql> create database dbfile;
5. 选择新数据库;
mysql> use dbfile;
6. 加载数据;
mysql> source dbfile.sql

或者
在Mysql程序中有我自己的一个数据库共5张表,里边数据不算太多。我现在想把他们全部弄到另一台电脑中去,该怎么弄,如果不用其它的软件工具,只用Mysql自已的程序不知可否?
注:不用考虑操作系统。
---------------------------------------------------------------

在dos命令提示符下使用mysqlmp命令进行备份.
如下:
C:\Documents and Settings\Administrator>mysqlmp 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>mysqlmp -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’