问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

mysql怎么保存文件

发布网友 发布时间:2022-04-30 06:35

我来回答

2个回答

懂视网 时间:2022-04-30 10:56

ibdata1 & mysql-bin

问题:磁盘空间报警,经查发现ibdata1和mysql-bin日志占用空间太多(其中ibdata1超过120G,mysql-bin超过80G)
原因:ibdata1是存储格式,在INNODB类型数据状态下,ibdata1用来存储文件的数据和索引,而库名的文件夹里的那些表文件只是结构而已。
innodb存储引擎有两种表空间的管理方式,分别是:
1)共享表空间(可拆分为多个小的表空间文件),这个是我们目前多数数据库使用的方法;
2)独立表空间,每一个表有一个独立的表空间(磁盘文件)
对于两种管理方式,各有优劣,具体如下:
①共享表空间:
优点:可以将表空间分成多个文件存放到不同的磁盘上(表空间文件大小不受表大小的限制,一个表可以分布在不同步的文件上)。
缺点:所有数据和索引存放在一个文件中,则随着数据的增加,将会有一个很大的文件,虽然可以把一个大文件分成多个小文件,但是多个表及索引在表空间中混合存储,这样如果对于一个表做了大量删除操作后表空间中将有大量空隙。对于共享表空间管理的方式下,一旦表空间被分配,就不能再回缩了。当出现临时建索引或是创建一个临时表的操作表空间扩大后,就是删除相关的表也没办法回缩那部分空间了。
②独立表空间:在配置文件(my.cnf)中设置: innodb_file_per_table
特点:每个表都有自已独立的表空间;每个表的数据和索引都会存在自已的表空间中。
优点:表空间对应的磁盘空间可以被收回(Drop table操作自动回收表空间,如果对于删除大量数据后的表可以通过:alter table tbl_name engine=innodb;回缩不用的空间。
缺点:如果单表增加过大,如超过100G,性能也会受到影响。在这种情况下,如果使用共享表空间可以把文件分开,但有同样有一个问题,如果访问的范围过大同样会访问多个文件,一样会比较慢。如果使用独立表空间,可以考虑使用分区表的方法,在一定程度上缓解问题。此外,当启用独立表空间模式时,需要合理调整innodb_open_files参数的设置。
解决:
1)ibdata1数据太大:只能通过dump,导出建库的sql语句,再重建的方法。
2)mysql-bin Log太大:
①手动删除:
删除某个日志:mysql>PURGE MASTER LOGS TO ‘mysql-bin.010′;
删除某天前的日志:mysql>PURGE MASTER LOGS BEFORE ’2010-12-22 13:00:00′;
②在/etc/my.cnf里设置只保存N天的bin-log日志
expire_logs_days = 30 //Binary Log自动删除的天数

MySql ibdata1文件

MySql innodb如果是共享表空间,ibdata1文件越来越大,达到了30多个G,对一些没用的表进行清空:
truncate table xxx;
然后optimize table xxx; 没有效果
因为对共享表空间不起作用。
mysql ibdata1存放数据,索引等,是MYSQL的最主要的数据。
如果不把数据分开存放的话,这个文件的大小很容易就上了G,甚至几十G。对于某些应用来说,并不是太合适。因此要把此文件缩小。
无法自动收缩,必须数据导出,删除ibdata1,然后数据导入,比较麻烦,因此需要改为每个表单独的文件。
解决方法:数据文件单独存放(共享表空间如何改为每个表独立的表空间文件)。
步骤如下:
1)备份数据库
备份全部数据库,执行命令
#mysqldump -q -uroot -ppassword --add-drop-table --all-databases >/home/backup/all.sql
做完此步后,停止数据库服务。
#service mysqld stop
2)找到my.ini或my.cnf文件
linux下执行 
# /usr/libexec/mysqld --verbose --help | grep -A 1 ‘Default options‘
Default options are read from the following files in the given order:
/etc/mysql/my.cnf /etc/my.cnf ~/.my.cnf 
windows环境下可以:
mysqld --verbose --help > mysqlhelp.txt
notepad mysqlhelp.txt
在里面查找Default options,可以看到查找my.ini的顺序,以找到真实目录
3)修改mysql配置文件
打开my.ini或my.cnf文件
[mysqld]下增加下面配置
innodb_file_per_table=1
验证配置是否生效,可以重启mysql后,执行
#service mysqld restart
#mysql -uroot -ppassword
mysql> show variables like ‘%per_table%‘;
+-----------------------+-------+
| Variable_name         | Value |
+-----------------------+-------+
| innodb_file_per_table | ON    |
+-----------------------+-------+
1 row in set (0.00 sec)
mysql> 
看看innodb_file_per_table变量是否为ON
4)删除原数据文件
删除原来的ibdata1文件及日志文件ib_logfile*,删除/var/lib/mysql目录下的应用数据库文件夹(mysql文件夹不要删)
5)还原数据库
启动数据库服务
从命令行进入MySQL Server
还原全部数据库,执行命令
#service mysqld start
#mysql -uroot -pocs < /home/backup/all.sql 
经过以上几步后,可以看到新的ibdata1文件就只有几十M了,数据及索引都变成了针对单个表的小ibd文件了,它们在相应数据库的文件夹下面。
# ll
total 295028
drwx------  2 mysql mysql     36864 Apr 22 14:16 glpi
drwx------  2 mysql mysql     36864 Feb 15 13:45 glpi-1
-rw-rw----  1 mysql mysql  10485760 Apr 22 14:27 ibdata1
-rw-rw----. 1 mysql mysql 270532608 Apr 22 14:14 ibdata1-1
-rw-rw----  1 mysql mysql   5242880 Apr 22 14:27 ib_logfile0
-rw-rw----. 1 mysql mysql   5242880 Apr 22 14:14 ib_logfile0_bak
-rw-rw----  1 mysql mysql   5242880 Apr 22 14:28 ib_logfile1
-rw-rw----. 1 mysql mysql   5242880 Apr 21 22:50 ib_logfile1_bak
drwx------  2 mysql mysql      4096 Apr 22 14:16 mrbs
drwx------  2 mysql mysql      4096 Apr 14 12:05 mrbs-1
drwx------. 2 mysql mysql      4096 Apr 22 14:16 mysql
srwxrwxrwx  1 mysql mysql         0 Apr 22 14:16 mysql.sock
drwx------  2 mysql mysql     12288 Apr 22 14:16 ocsweb
drwx------  2 mysql mysql     12288 Nov 16  2011 ocsweb-1
# ll mrbs
total 808
-rw-rw---- 1 mysql mysql     61 Apr 22 14:16 db.opt
-rw-rw---- 1 mysql mysql  10492 Apr 22 14:16 mrbs_area.frm
-rw-rw---- 1 mysql mysql  98304 Apr 22 14:16 mrbs_area.ibd
-rw-rw---- 1 mysql mysql   9264 Apr 22 14:16 mrbs_entry.frm
-rw-rw---- 1 mysql mysql 131072 Apr 22 14:16 mrbs_entry.ibd
-rw-rw---- 1 mysql mysql   9442 Apr 22 14:16 mrbs_repeat.frm
-rw-rw---- 1 mysql mysql  98304 Apr 22 14:16 mrbs_repeat.ibd
-rw-rw---- 1 mysql mysql   8888 Apr 22 14:16 mrbs_room.frm
-rw-rw---- 1 mysql mysql 114688 Apr 22 14:16 mrbs_room.ibd
-rw-rw---- 1 mysql mysql   8688 Apr 22 14:16 mrbs_users.frm
-rw-rw---- 1 mysql mysql  98304 Apr 22 14:16 mrbs_users.ibd
-rw-rw---- 1 mysql mysql   8658 Apr 22 14:16 mrbs_variables.frm
-rw-rw---- 1 mysql mysql  98304 Apr 22 14:16 mrbs_variables.ibd
-rw-rw---- 1 mysql mysql   8738 Apr 22 14:16 mrbs_zoneinfo.frm
-rw-rw---- 1 mysql mysql  98304 Apr 22 14:16 mrbs_zoneinfo.ibd
# ll mrbs-1
total 88
-rw-rw---- 1 mysql mysql    61 Apr 14 12:05 db.opt
-rw-rw---- 1 mysql mysql 10492 Apr 14 12:05 mrbs_area.frm
-rw-rw---- 1 mysql mysql  9264 Apr 14 12:05 mrbs_entry.frm
-rw-rw---- 1 mysql mysql  9442 Apr 14 12:05 mrbs_repeat.frm
-rw-rw---- 1 mysql mysql  8888 Apr 14 12:05 mrbs_room.frm
-rw-rw---- 1 mysql mysql  8688 Apr 14 12:05 mrbs_users.frm
-rw-rw---- 1 mysql mysql  8658 Apr 14 12:05 mrbs_variables.frm
-rw-rw---- 1 mysql mysql  8738 Apr 14 12:05 mrbs_zoneinfo.frm

文字来源:http://www.xiaobo.li/db/419.html

mysql下存储文件问题

标签:

热心网友 时间:2022-04-30 08:04

mysql是数据库系统,它的文件是不需要用户显式去管理的,是由数据库管理程序来管理,所以都是自动保存文件,而不需要手动完成,用户从安全和数据一致性的角度来说,也不需要来管理和保存文件。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
五月天的历年专辑价钱及曲目 五月天的所有专辑? 五月天一共有多少专辑啊? 请问男女之间的爱情有性才能维持吗? 迈克尔 杰克逊的最好听的十首歌 给个下载地址 分公司是否可以和员工签订劳动合同 分公司能否与员工签立劳动合同? 分公司可以与员工签订劳动合同的吗 分公司可否签订劳动合同 分公司能否签劳动合同 格式为npe的掌上游戏 简述笔记本电脑升级内存和硬盘的过程 指纹考勤门禁管理系统为什么连接不到电脑 监控和门禁系统共用管理电脑问题 医院门禁管理系统怎么增加人员? 为啥电脑每次重启后专业智能门禁管理系统就不能用了? 门禁系统用电脑需要独立建资产号吗? 多个门禁控制器可以在一台电脑上实现管理吗???有没有什么要求?@@@昕亿 @@ 如何把门禁管理软件转移到其他电脑 电脑门禁管理如何给手机加卡 门禁卡在电脑上怎么做? 门禁控制器怎样和电脑连接呢?? 水彩画海绵宝宝,背景色借鉴梵高著作星空,可以深色打底 门禁管理电脑平时能关机吗 电脑关机了 门禁能正常使用吗 手机QQ海绵宝宝背景分组图案怎么弄 工地录门禁电脑操作步骤 海绵宝宝油画棒画怎么画 如何画海绵宝宝匹配插图 请问要除湿热最好吃什么啊? 湿热重吃什么好 发现科比的遗骸了吗? 人一直都在飞机里,为什么空难后却很难找到受难者的遗体呢? 哪里可以找到科比的高清图片 如何看待加州因科比遗骸被偷拍立法这件事? 第五套所有人民币背面的风景名胜 读书郎平板电脑触摸屏怎么换 读书郎G50外屏坏了自己在家如何换要图解 微信绑定的QQ邮箱无法解绑,显示被其他码绑定,怎么办? 怎样在QQ邮箱中解除绑定的? 读书郎g100换屏视频 读书郎学习平板g35s如果屏幕碎了换屏多少钱 读书郎G550A平板换外屏之后里面出现有一条一条的痕迹是怎么回事? qq邮箱怎么解除绑定 读书郎平板学习机屏幕烂有法换屏吗? 谁能告诉我,怎样在QQ邮箱中解除绑定的?谢谢! 忘记怎么解绑qq邮箱 我的qq邮箱绑定了微信要怎么解除,说什么改邮箱可能被其他绑定 托茄子的做法步骤图,面托茄子怎么做好吃 饮食类 茄子拖面怎么做 茄子拖叶的做法