文档章节

mysql文件导入办法(直接copy数据库文件)

小浩浩2015
 小浩浩2015
发布于 2017/08/21 14:11
字数 1425
阅读 12
收藏 0
点赞 0
评论 0

一.MySQL数据文件说明先看MySQL DataDirectory下的文件:


这里面dave,mysql 都是我们的数据库名称,我们在进入mysql 数据库查看:


        在MySQL 中每一个数据库都会在定义好(或者默认)的数据目录下存在一个以数据库名字命名的文件夹,用来存放该数据库中各种表数据文件。不同的MySQL 存储引擎有各自不同的数据文件,存放位置也有区别。
        多数存储引擎的数据文件都存放在和MyISAM 数据文件位置相同的目录下,但是每个数据文件的扩展名却各不一样。如MyISAM 用“.MYD”作为扩展名,Innodb 用“.ibd”,Archive 用“.arc”,CSV 用“.csv”,等等。

1.1 “.ibd”文件和ibdata 文件        这两种文件都是存放Innodb 数据的文件,之所以有两种文件来存放Innodb 的数据(包括索引),是因为Innodb 的数据存储方式能够通过配置来决定是使用共享表空间存放存储数据,还是独享表空间存放存储数据。独享表空间存储方式使用“.ibd”文件来存放数据,且每个表一个“.ibd”文件,文件存放在和MyISAM数据相同的位置。
        如果选用共享存储表空间来存放数据,则会使用ibdata 文件来存放,所有表共同使用一个(或者多个,可自行配置)ibdata 文件。ibdata 文件可以通过innodb_data_home_dir 和innodb_data_file_path两个参数共同配置组成, innodb_data_home_dir 配置数据存放的总目录, 而innodb_data_file_path 配置每一个文件的名称。当然,也可以不配innodb_data_home_dir而直接在innodb_data_file_path参数配置的时候使用绝对路径来完成配置。

mysql> showvariables like 'innodb_data%';
+-----------------------+------------------------+
|Variable_name | Value |
+-----------------------+------------------------+
|innodb_data_file_path | ibdata1:10M:autoextend |
| innodb_data_home_dir | |
+-----------------------+------------------------+
2 rows in set(0.01 sec)

        innodb_data_file_path中可以一次配置多个ibdata文件。文件可以是指定大小,也可以是自动扩展的,但是Innodb 限制了仅仅只有最后一个ibdata 文件能够配置成自动扩展类型。当我们需要添加新的ibdata 文件的时候,只能添加在innodb_data_file_path配置的最后,而且必须重启MySQL 才能完成ibdata 的添加工作。

1.2 “.frm”文件        与表相关的元数据(meta)信息都存放在“.frm”文件中,包括表结构的定义信息等。不论是什么存储引擎,每一个表都会有一个以表名命名的“.frm”文件。所有的“.frm”文件都存放在所属数据库的文件夹下面。

1.3 “.MYD”文件        “.MYD”文件是MyISAM 存储引擎专用,存放MyISAM 表的数据。每一个MyISAM 表都会有一个“.MYD”文件与之对应,同样存放于所属数据库的文件夹下,和“.frm”文件在一起。

1.4 “.MYI”文件        “.MYI”文件也是专属于MyISAM存储引擎的,主要存放MyISAM表的索引相关信息。对于MyISAM存储来说,可以被cache 的内容主要就是来源于“.MYI”文件中。每一个MyISAM表对应一个“.MYI”文件,存放于位置和“.frm”以及“.MYD”一样。

小结一下:        MyISAM 存储引擎的表在数据库中,每一个表都被存放为三个以表名命名的物理文件(frm,myd,myi)。 每个表都有且仅有这样三个文件做为MyISAM 存储类型的表的存储,也就是说不管这个表有多少个索引,都是存放在同一个.MYI 文件中。
        这个在开始的截图里看的比较清楚。


二.更改MySQL 数据文件目录        MySQL默认的数据文件存储目录为/var/lib/mysql。下面演示一下修改MySQL默认的data directory。

2.1 创建新的目录[root@rac2 /]# mkdir -p /u01/mysql
[root@rac2 lib]# chown mysql.mysql/u01/mysql
[root@rac2 lib]# chmod -R 777 /u01/mysql

2.2 停mysql[root@rac2 lib]# service mysql stop
Shutting down MySQL... [ OK ]
[root@rac2 lib]# ps -ef|grep mysql
root 3955 3799 0 20:00 pts/2 00:00:00 grep mysql

2.3 移动目录[root@rac2 lib]# mv /var/lib/mysql /u01/

2.4 修改my.cnf配置文件如果/etc/目录下没有my.cnf配置文件,到/usr/share/mysql/下找到*.cnf文件,拷贝其中一个到/etc/并改名为my.cnf。命令如下:
[root@rac2 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

vi修改my.cnf的sock 文件位置:
# The MySQL server
[mysqld]
port = 3306
#socket = /var/lib/mysql/mysql.sock
socket = /u01/mysql/mysql.sock
skip-external-locking
key_buffer_size = 16M
#max_allowed_packet = 1M
max_allowed_packet=100M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M

2.5 修改启动脚本:/etc/init.d/myql[root@rac2 mysql]# vi /etc/init.d/mysql
datadir=/u01/mysql

2.6 启动mysql[root@rac2 mysql]# service mysql start
Starting MySQL..... [ OK ]

启动成功,查看进程:
[root@rac2 mysql]# ps -ef|grep mysql
root 11512 1 2 21:02 pts/2 00:00:00 /bin/sh /usr/bin/mysqld_safe--datadir=/u01/mysql --pid-file=/u01/mysql/rac2.pid
mysql 11769 11512 5 21:02 pts/2 00:00:00 /usr/sbin/mysqld --basedir=/usr--datadir=/u01/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql--log-error=/u01/mysql/rac2.err --pid-file=/u01/mysql/rac2.pid--socket=/u01/mysql/mysql.sock --port=3306
root 11796 3799 0 21:02 pts/2 00:00:00 grep mysql

2.7 其中的小插曲:
之前给/u01/mysql 目录赋的755 权限,但是启动报错:
[root@rac2 mysql]# service mysql start
Starting MySQL....The server quit withoutupdating PID file[FAILED]ysql/rac2.pid).

查看log:/u01/mysql/rac2.err
111130 20:59:34 [Note] /usr/sbin/mysqld:Shutdown complete

111130 20:59:34 mysqld_safe mysqld from pidfile /u01/mysql/rac2.pid ended
111130 21:02:25 mysqld_safe Starting mysqlddaemon with databases from /u01/mysql
/usr/sbin/mysqld: File './mysql-bin.~rec~'not found (Errcode: 13)
111130 21:02:25 [ERROR]MYSQL_BIN_LOG:pen_purge_index_file failed to open register file.
111130 21:02:25 [ERROR]MYSQL_BIN_LOG:pen_index_file failed to sync the index file.
111130 21:02:25 [ERROR] Aborting

应该是权限不够,不能创建pid 文件,赋给777 权限后,正常:
chmod -R 777 /u01/mysql

[root@rac2 mysql]# ll /u01/mysql/rac2.pid 
-rw-rw---- 1 mysql mysql 6 Nov 30 21:02/u01/mysql/rac2.pid

© 著作权归作者所有

共有 人打赏支持
小浩浩2015
粉丝 1
博文 23
码字总数 32026
作品 0
深圳
linux服务器网站到windows服务器的一次迁移

原先一个网站在linux服务器上所用的web服务为nginx+mysql+php,由于各种原因需要迁移到Windows服务器上。 前期做的准备 1,PHP和MySQL的版本 2,网站大小和类型 3,数据库大小 由于网站过于巨...

forsk ⋅ 2014/09/03 ⋅ 0

mysql导入数据库时出现40101错误解决方法

导入错误:40101 SET @OLDCHARACTERSETCLIENT=@@CHARACTERSET 入的方法: mysqluse test; mysql source c:/test.sql 导入数据时,如果目标数据库或表是UTF-8字符集的,而导入SQL中有中文,可能...

lcdmusic ⋅ 2015/12/22 ⋅ 0

PHP备份/还原MySQL数据库

之前是采用PHP读取数据库结构和内容,然后写文件,这样可能会导致导出的文件不一定能百分百导入到MySQL中去,想想之后采用MySQL自带的导入导出命令最保险,以下是代码: 一、备份数据库并下载...

net ljx ⋅ 2010/12/14 ⋅ 1

利用xcopy同步(备份)mysql数据库

公司上了一个考勤系统,我看了一下code,使用python的Django框架做的管理界面; 数据库是mysql。由于我的管理系统需要考勤数据,所以想直接连接到他的mysql数据库中 无奈,看到他的配置文件中...

恺哥 ⋅ 2013/01/25 ⋅ 0

MySQL的基本语法(授权与备份)

登陆mysql: 语法如下: mysql -u用户名-p用户密码 键入命令mysql -uroot -p,回车后提示你输入密码,输入12345,然后回车即可进入到mysql中了,mysql的提示符是: mysql> 注意,如果是连接到...

阿桂1989 ⋅ 2015/08/05 ⋅ 0

使用MySQL自带工具mysqlhotcopy快速备份MyISAM引擎的MySQL数据库

mysqlhotcopy是一个Perl脚本,最初由Tim Bunce编写并提供。它使用LOCK TABLES、FLUSH TABLES和cp或scp来快速备份数据库。它是备份数据库或单个表的最快的途径,但它只能运行在数据库目录所在...

lixiaokai2008 ⋅ 2013/07/06 ⋅ 0

MySQL进阶——使用xtrabackup进行数据库备份

一、安装 1、简介 Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具。特点: (1)备份过程快速、可靠; ...

蜗牛的嘲讽 ⋅ 2016/11/22 ⋅ 0

马哥linux干货分享使用Xtrabackup进行MySQL备份

http://www.magedu.com/ 一、安装 1、简介 Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具。特点: (1...

小小295813080 ⋅ 2014/08/28 ⋅ 1

马哥linux教程分享之使用Xtrabackup进行MySQL备份

一、安装 1、简介 Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具。特点: (1)备份过程快速、可靠; ...

小小295813080 ⋅ 2014/09/03 ⋅ 0

H2 script STRINGDECODE

MYSQL 导出 到 H2 近期想将开发中系统的数据库随身携带,以便随时学习。最好的办法当然是将数据库随身携带,所以想到了导出到H2中。H2的压缩模式很厉害,在MYSQL中1G左右的空间,压缩后占用6...

wonder365 ⋅ 2013/02/18 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Spring | IOC AOP 注解 简单使用

写在前面的话 很久没更新笔记了,有人会抱怨:小冯啊,你是不是在偷懒啊,没有学习了。老哥,真的冤枉:我觉得我自己很菜,还在努力学习呢,正在学习Vue.js做管理系统呢。即便这样,我还是不...

Wenyi_Feng ⋅ 今天 ⋅ 0

博客迁移到 https://www.jianshu.com/u/aa501451a235

博客迁移到 https://www.jianshu.com/u/aa501451a235 本博客不再更新

为为02 ⋅ 今天 ⋅ 0

win10怎么彻底关闭自动更新

win10自带的更新每天都很多,每一次下载都要占用大量网络,而且安装要等得时间也蛮久的。 工具/原料 Win10 方法/步骤 单击左下角开始菜单点击设置图标进入设置界面 在设置窗口中输入“服务”...

阿K1225 ⋅ 今天 ⋅ 0

Elasticsearch 6.3.0 SQL功能使用案例分享

The best elasticsearch highlevel java rest api-----bboss Elasticsearch 6.3.0 官方新推出的SQL检索插件非常不错,本文一个实际案例来介绍其使用方法。 1.代码中的sql检索 @Testpu...

bboss ⋅ 今天 ⋅ 0

informix数据库在linux中的安装以及用java/c/c++访问

一、安装前准备 安装JDK(略) 到IBM官网上下载informix软件:iif.12.10.FC9DE.linux-x86_64.tar放在某个大家都可以访问的目录比如:/mypkg,并解压到该目录下。 我也放到了百度云和天翼云上...

wangxuwei ⋅ 今天 ⋅ 0

PHP语言系统ZBLOG或许无法重现月光博客的闪耀历史[图]

最近在写博客,希望通过自己努力打造一个优秀的教育类主题博客,名动江湖,但是问题来了,现在写博客还有前途吗?面对强大的自媒体站点围剿,还有信心和可能型吗? 至于程序部分,我选择了P...

原创小博客 ⋅ 今天 ⋅ 0

IntelliJ IDEA 2018.1新特性

工欲善其事必先利其器,如果有一款IDE可以让你更高效地专注于开发以及源码阅读,为什么不试一试? 本文转载自:netty技术内幕 3月27日,jetbrains正式发布期待已久的IntelliJ IDEA 2018.1,再...

Romane ⋅ 今天 ⋅ 0

浅谈设计模式之工厂模式

工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻...

佛系程序猿灬 ⋅ 今天 ⋅ 0

Dockerfile基础命令总结

FROM 指定使用的基础base image FROM scratch # 制作base image ,不使用任何基础imageFROM centos # 使用base imageFROM ubuntu:14.04 尽量使用官方的base image,为了安全 LABEL 描述作...

ExtreU ⋅ 昨天 ⋅ 0

存储,对比私有云和公有云的不同

导读 说起公共存储,很难不与后网络公司时代的选择性外包联系起来,但尽管如此,它还是具备着简单和固有的可用性。公共存储的名字听起来也缺乏专有性,很像是把东西直接堆放在那里而不会得到...

问题终结者 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部