澳门新葡萄京娱乐网站-澳门新葡萄京888官网-所有平台

热门关键词: 澳门新葡萄京娱乐网站,澳门新葡萄京888官网

7纠正数据库的数码存款和储蓄地点的解决措施,

作者: MySQL数据库  发布:2020-01-04

1、mysql多少个举足轻重的文书

MySQL数据文件表明

mysql 5.7纠正数据库的数额存款和储蓄地方的消除措施,mysql5.7

乘机MySQL数据仓库储存储的数目慢慢变大,已经将原先的积攒数据的上空占满了,以致mysql已经链接不上了。因而,必定要给存放的多少交换一下地方了。下边是操作进程中的一些步骤。记下来,早先日后查看。

1.修改mysql数据存放的目录

要改过多个地点,其一是改良/etc/my.cnf文件中的datadir。私下认可情形下:

datadir=/var/lib/mysql

因为本人的/data/目录相当大,所以将其改为:

datadir=/data/mysql/

还要改正/etc/init.d/mysqld文件,将datadir=”$result”改为:

datadir=”/data/mysql”

2.停止mysql服务

service mysql stop

3.创造新的数量寄存目录

mkdir /data/mysql

4.将数据移动到新的数据库寄放目录里面

mv /usr/local/mysql/data/* /data/mysql

那边补充一点儿文化,innoDB引擎和MyISAM引擎的数据文件不等同。

针对MyISAM引擎, 数据文件以”*.frm”,”*.MYD”,”*.MYI”八个文件存款和储蓄于”/var/lib/mysql”目录下的相应数据库文件夹中。直接将这么些文件移动到新的数量存放目录里面,就足以。

本着innoDB引擎,数据则存款和储蓄在”$innodb_data_home_dir” 的ibdata1文件中(日常景色State of Qatar,构造文件存在于table_name.frm中。

5.更换mysql数据库目录权限以致配备文件

chown mysql:mysql -R /data/mysql/

6.修改socket

在四个地点校勘socket,/etc/my.cnf

socket=/data/mysql/mysql.sock

创建三个接连文件到/var/lib/mysql/mysql.sock

ln -s /data/mysql/mysql.sock /var/lib/mysql/mysql.sock

7.重启mysql服务

执行

service mysql restart 

开班对数据库实行读写操作,开掘存诸有此类的难点:

读写:

ERROR 1146 (42S02): Table ** doesn't exist

创建表:

ERROR 1005 (HY000): Can't create table ‘runoob_tbl' (errno: 13) 

扫除办法:

在/data/mysql目录下,删掉ib_logfile*文件,那样innoDB引擎的表就平常了。

再执行

mysql> REPAIR TABLE ***; 

对此数据量极大表,那么些进度可能会不慢。施行到位后,MyISAM引擎的表也健康了。

mysql相关专项论题,须要的爱人可以参照他事他说加以侦查下

MySQL中的数据库操作知识汇总

Mysql入门教程

Mysql 报错及消除办法

Mysql root密码操作方法

上述所述是小编给大家介绍的mysql 5.7校订数据库的数目存储地方的消除方法,希望对大家有所扶助,假诺我们有别的疑窦应接给自家留言,小编会及时回复我们的,在这里也非常谢谢大家对帮客之家网址的支撑!

5.7改过数据库的数额存款和储蓄地方的解决办法,mysql5.7 随着MySQL数据仓库储存款和储蓄的多少逐步变大,已经将原来的存款和储蓄数据的空中占满了,招致m...

  • 各类数据库新建后,会时有爆发数据库文件夹,在该公文夹下每张表均对应以下四个公文:

 

xx.frm    存放表构造

后生可畏.MySQL数据文件说明

xx.MYD    贮存表数据

先看MySQL DataDirectory下的文件:

xx.MYI   存放表索引

 

  • mysq特别首要的配置文件     

图片 1

my.ini   全局配置文件

 

2、mysql的逻辑布局

这里面dave,mysql 都以大家的数据库名称,我们在步入mysql 数据库查看:

  • 连接层
  • 服务层
  • 引擎层:存款和储蓄引擎层,引擎担负mysql数据的存取,mysql服务器通过API与积攒引擎通信。分化的积攒引擎具备不相同的特色效果与利益
  • 仓库储存层:数据存款和储蓄层,将数据存款和储蓄到道具的文件系统上,并做到与积累引擎的相互

 

3、InnoDB引擎特点

图片 2

Supports transactions, row-level locking, and foreign keys

 

在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 创造新的目录

[[email protected] /]# mkdir -p /u01/mysql
[[email protected] lib]# chown mysql.mysql/u01/mysql
[[email protected] lib]# chmod  -R 777 /u01/mysql

 

 

2.2 停mysql

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

 

 

2.3 移动目录

[[email protected] lib]# mv /var/lib/mysql  /u01/

 

 

2.4 改正my.cnf配置文件

假使/etc/目录下并未有my.cnf配置文件,到/usr/share/mysql/下找到*.cnf文件,拷贝此中三个到/etc/并改名称为my.cnf。命令如下:

[[email protected] 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
[[email protected] mysql]# vi /etc/init.d/mysql
datadir=/u01/mysql

 

 

2.6 启动mysql

[[email protected] mysql]# service mysql start
Starting MySQL.....                                        [  OK  ]

 

运营成功,查看进程:

[[email protected] 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 权限,但是运转报错:

[[email protected] 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::open_purge_index_file failed to open register  file.
111130 21:02:25 [ERROR]MYSQL_BIN_LOG::open_index_file failed to sync the index file.
111130 21:02:25 [ERROR] Aborting

 

 

相应是权力远远不够,不可能成立pid 文件,赋给777 权限后,平常:

chmod  -R 777 /u01/mysql

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

 

大器晚成.MySQL数据文件表明 先看MySQL DataDirectory下的公文: 这里面dave,mysql 都是我们的数据库名称,我们在步向mysql 数据库查看...

本文由澳门新葡萄京娱乐网站发布于MySQL数据库,转载请注明出处:7纠正数据库的数码存款和储蓄地点的解决措施,

关键词:

上一篇:认知mysql(2State of Qatar
下一篇:没有了