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

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

1、用dump命令备份数据库。
# mysqldump -u root -p dbfile > dbfilesql
2、用rsync从新服务器获得备份的文件(SCP或WGET也可以)。
# rsync -avr root@myolddbserver:/home/mydumpfolder/dbfilesql
3、登陆新服务器的mysql客户端。
# mysql -u root -p
4 建立数据库。
mysql> create database dbfile;
5 选择新数据库;
mysql> use dbfile;
6 加载数据;
mysql> source dbfilesql
或者
在Mysql程序中有我自己的一个数据库共5张表,里边数据不算太多。我现在想把他们全部弄到另一台电脑中去,该怎么弄,如果不用其它的软件工具,只用Mysql自已的程序不知可否?
注:不用考虑 *** 作系统。
---------------------------------------------------------------
在dos命令提示符下使用mysqldump命令进行备份
如下:
C:\Documents and Settings\Administrator>mysqldump yinshi >c:\\backuptxt -uroot
-p12142022
说明:yinshi是我的数据库名,里面有5张表; c:\\backuptxt 是我备份出来文件名和路径;
-u,-p参数后面跟的分别是用户名和密码
将你备份出来的文件我这里是backuptxt拷贝到另一台机上,再在dos命令提示符下用mysql命令,进行恢复,如下:
C:\Documents and Settings\Administrator>mysql < c:\\backuptxt -uroot -p12142022
or
mysql>source backuptxt;(这里backuptxt在放在data目录下)
---------------------------------------------------------------
如果另一台机器上也安装了mysql,可以直接导入
C:\mysql\bin>mysqldump -h172206250 -udeveloper -p123456 --opt server_databasename | mysql -hlocalhost -uroot -C obj_databasename
172206250源服务器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_nametxt’ [REPLACE | IGNORE]
INTO TABLE tbl_name
SELECT INTO OUTFILE ’file_name’

分页内存池与非分页内存池在Windows 服务器上是两个重要的内核资源。系统及其底层的驱动在分配内存时,会从这两个内存池中申请相应的内存,用于存储它们的数据结构。
默认情况下,这两种资源都是在机器启动时,系统在硬件组成的基本上自动计算出来的,也就是说它们的值可能根据内存大小及其它硬件的类型的区别,在不同的机器上有所不同。
从公开的资料中,我们一般可以查询到在Windows *** 作系统上,Windows 的分页内存池/非分页内存池极限值是:
所以一般情况下,在32位的系统上,由于分页内存池/非分页内存池的极值都是有限的,且总量并不是很高,如果底层驱动出现内存池泄漏的问题,或是系统总的内存池使用量过高,
就非常容易造成分页内存池/非分页内存池耗尽的情况,从而导致用程序无法正常运行,或是服务失去响应甚至蓝屏的问题。
目前在Windows中,比较常用的查询当前系统的分页内存池/非分页内存池实时使用量的工具是任务管理器。
图1:任务管理器查询实时分页内存池/非分页内存池的使用量
而对于当前系统的分页内存池/非分页内存池的极值大小的查询方法,一般是使用process explorer工具(需要网络支持)。
使用方法为:
1: 用默认路径安装Windbg工具:
2:下载Process
Explorer工具:
3: 运行Process
Explorer,在Options -> Configure Symbols…中配置符号,如下图2(注: 这里需要服务器可连接到微软的符号服务器以自动下载符号)。
图2: Process Explorer配置符号
4: 然后在Process Explorer菜单中,选择view -> System Information…来查看当前的分页内存池/非分页内存池的极值。
这里以一台Windows 2003 sp2 x86的服务器为例:
在上面示例的系统上,我们可以看到当前服务器在2GB物理内存的情况下,分页内存池极限值为362,496KB,约354MB,而非分页内存池的极值是262,140KB,约256MB。
比较上述极值与我们之前查询到的理论值,我们可以看到,非分页内存池的大小(256MB)与资料中查到的极限值基本一致,但是分页内存池的值354MB要远小于理论上的470
- 650MB。这是为什么呢?
这个主要是因为在Windows 2003安装完成后,系统中并没有把paged pool设置到可以支持的最大值,而是有一定的保留。我们可以根据KB312362(>

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

原文地址:https://54852.com/zz/10850888.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存