mysql存储数据的时候都会把数据文件存储到固定的位置,那么我们如何查看这个存储数据文件的位置在哪里那?下面我给大家分享一下。
创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站制作、网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的宁阳网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
首先我们进入mysql的安装目录,如下图所示,打开my.ini文件
接下来在打开的my.ini文件中,我们找到datadir所在行,如下图所示,复制此行的路径
然后我们在路径输入框中粘贴此路径,回车即可进入数据文件所在的位置,如下图所示
最后如果你想修改数据文件的位置,那么直接修改my.ini文件中datadir对应的路径即可,如下图所示
my.cnf 是mysql启动时加载的配置文件,一般会放在mysql的安装目录中,用户也可以放在其他目录加载。
安装mysql后,系统中会有多个 my.cnf 文件,有些是用于测试的。
安装locate
命令
输出
当我们需要修改配置文件时,需要找到mysql启动时是加载了哪个 my.cnf 文件。
启动mysql后,我们查看mysql的进程,看看是否有设置使用指定目录的 my.cnf 文件,如果有则表示mysql启动时是加载了这个配置文件。
命令
输出
可以看到 /usr/local/Cellar/mysql/5.6.24/my.cnf 就是mysql启动加载的配置文件。
如果上面的命令没有输出,表示没有设置使用指定目录的 my.cnf 。
如果没有设置使用指定目录的 my.cnf ,mysql启动时会读取安装目录根目录及默认目录下的 my.cnf 文件。
查看mysql启动时读取配置文件的默认目录
命令
输出
这些就是mysql默认会搜寻 my.cnf 的目录,顺序排前的优先。
如果没有设置使用指定目录 my.cnf 文件及默认读取目录没有 my.cnf 文件,表示mysql启动时并没有加载配置文件,而是使用默认配置。
需要修改配置,可以在mysql默认读取的目录中,创建一个 my.cnf 文件(例如: /etc/my.cnf ),把需要修改的配置内容写入,重启mysql后即可生效。
一、查看文件安装路径
由于软件安装的地方不止一个地方,所有先说查看文件安装的所有路径(地址)。
这里以mysql为例。比如说我安装了mysql,但是不知道文件都安装在哪些地方、放在哪些文件夹里,可以用下面的命令查看所有的文件路径
在终端输入:
whereis mysql
回车,如果你安装好了mysql,就会显示文件安装的地址,例如我的显示(安装地址可能会不同)
root@ubuntu:/# whereis mysql
mysql: /usr/bin/mysql /usr/bin/X11/mysql /usr/local/mysql
二、查询运行文件所在路径(文件夹地址)
如果你只要查询文件的运行文件所在地址,直接用下面的命令就可以了(还是以mysql为例):
which mysql
终端显示:
root@ubuntu:/# which mysql
/usr/bin/mysql
(望楼主采纳哦)
有两种方法,一种方法使用mysql的check table和repair table 的sql语句,另一种方法是使用MySQL提供的多个myisamchk, isamchk数据检测恢复工具。前者使用起来比较简便。推荐使用。
1. check table 和 repair table
登陆mysql 终端:
mysql -uxxxxx -p dbname
check table tabTest;
如果出现的结果说Status是OK,则不用修复,如果有Error,可以用:
repair table tabTest;
进行修复,修复之后可以在用check table命令来进行检查。在新版本的phpMyAdmin里面也可以使用check/repair的功能。
2. myisamchk, isamchk
其中myisamchk适用于MYISAM类型的数据表,而isamchk适用于ISAM类型的数据表。这两条命令的主要参数相同,一般新的系统都使用MYISAM作为缺省的数据表类型,这里以myisamchk为例子进行说明。当发现某个数据表出现问题时可以使用:
myisamchk tablename.MYI
进行检测,如果需要修复的话,可以使用:
myisamchk -of tablename.MYI
关于myisamchk的详细参数说明,可以参见它的使用帮助。需要注意的时在进行修改时必须确保MySQL服务器没有访问这个数据表,保险的情况下是最好在进行检测时把MySQL服务器Shutdown掉。
-----------------------------
另外可以把下面的命令放在你的rc.local里面启动MySQL服务器前:
[ -x /tmp/mysql.sock ] /pathtochk/myisamchk -of /DATA_DIR/*/*.MYI
其中的/tmp/mysql.sock是MySQL监听的Sock文件位置,对于使用RPM安装的用户应该是/var/lib/mysql/mysql.sock,对于使用源码安装则是/tmp/mysql.sock可以根据自己的实际情况进行变更,而pathtochk则是myisamchk所在的位置,DATA_DIR是你的MySQL数据库存放的位置。
需要注意的时,如果你打算把这条命令放在你的rc.local里面,必须确认在执行这条指令时MySQL服务器必须没有启动!检测修复所有数据库(表)