mysql安装目录、配置文件存放位置

2017-08-17 19:26:00

1、linux系统自带的mysql,其安装目录及数据目录查看方法(前提是已启动mysql服务):

#ps -ef|grep mysqld

结果示例:


  1. root       1972      1  0 10:03 ?        00:00:00 /bin/sh /skyleo/package/mysql/bin/mysqld_safe --datadir=/skyleo/package/mysql/data --pid-file=/skyleo/package/mysql/mysqld.pid  

  2. mysql      2396   1972  0 10:03 ?        00:00:05 /skyleo/package/mysql/bin/mysqld --basedir=/skyleo/package/mysql --datadir=/skyleo/package/mysql/data --plugin-dir=/skyleo/package/mysql/lib/mysql/plugin --user=mysql --log-error=/skyleo/package/mysql/mysqld.log --pid-file=/skyleo/package/mysql/mysqld.pid --socket=/skyleo/package/mysql/mysql.sock  

  3. root       2731   2639  0 10:20 pts/0    00:00:00 grep mysqld  



其中,basedir=/skyleo/package/mysql就是mysql的安装目录(一台服务器上可能安装着多个mysql服务,这里查看到的是正在运行着的这个mysql服务的安装目录),数据目录为datadir=/skyleo/package/mysql/data,该mysql服务的启动用户是user=mysql,套接字文件存放位置为socket=/skyleo/package/mysql/mysql.sock,对外服务的端口是3306.


2、配置文件my.cnf查找:

查看启动脚本mysqld文件,该文件可以在/etc/init.d目录(redhat系统下)下找到,如果找不到,就通过ps -ef|grep mysqld查看,在basedir目录下查找mysql.server文件,如上例中,mysqld文件就是在/skyleo/package/mysql目录下搜索mysql.server文件。有的时候,/etc/init.d目录下的mysqld文件跟ps另外查询出来的文件内容不一致,这个可能是由于linux系统自带了mysql服务,但是没有使用该服务,又另外安装了个mysql服务,并启动了该另装的mysql服务,这种情况下,应该查看ps查询出来的mysqld文件,因为在这种情况下,很有可能是linux系统重启时,启动了系统自带的mysql(因为/etc/init.d目录下的配置文件就是系统启动时启动的服务,可能因启动级别有所区别),然后手动把该mysql停掉了,然后又重新安装了mysql,却忘了用mysql.server文件替换/etc/init.d目录下的mysqld文件,这样,如果不重启的情况下,mysql服务是正常的,一旦服务器重启,还是会启动linux自带的mysql服务。

找到mysqld文件后,查看该文件,并找到如下内容:


  1. conf=/etc/my.cnf  

  2.   print_defaults=  

  3.   if test -r $conf  

  4.   then  

  5.     subpat='^[^=]*basedir[^=]*=\(.*\)$'  


这里的意思是,如果/etc下没有my.cnf 文件,则到mysql目录里 copy my-medium.cnf 到/etc下为my.cnf


  • 2019-08-18 22:22:54

    Error:error: unable to remove file: Permission denied

    JNI里写的C++增加了函数或修改了,如果此时是Debug模式下,而且还没退出程序,就出现这个Permission denied的提示。解决也很简单:就是退出App即可。如果退出无响应,直接拔usb,重新插上也可以

  • 2019-08-19 10:24:29

    浅析Express中的路由与应用模式

    Express是一个基于Node.js的轻量级web开发框架,具有体积小,使用灵活等特点。查看Express的源码,如果不计供使用的中间件,主体框架只有一千余行代码,非常简练。

  • 2019-08-19 15:50:17

    记录PHP的进程和线程理解

    线程是进程的一个执行流,线程不能分配系统资源,它是进程的一部分,比进程更小的独立运行的单位。 解释一下:进程有两个特性:一是资源的所有权,一个是调度执行(指令集),线程是调度执行中的一部分,是指进程执行过程的路径,也叫程序执行流。线程有时候也叫轻量级进程。

  • 2019-08-20 08:51:52

    一台Linux服务器可以负载多少个连接?

    我们在压测一台目标服务器,想看下负载的连接数,当我们压到一定数量的时候,控制台突然报"too many open files",这是因为linux系统创建一个TCP连接的时候,都会创建一个socket句柄,每个socket句柄就是一个文件句柄。

  • 2019-08-20 08:56:42

    Linux下Http高并发参数优化之TCP参数

    Linux 内核参数考虑的是最通用场景,并不符合用于支持高并发访问的Web服务器的定义,所以需要修改Linux内核参数。其次,对 Nginx 的一些参数,也需要根据服务情况进行调整。

  • 2019-08-20 11:05:30

    php,nginx,线程和进程分析

    大多数的 Linux 程序都倾向于使用进程而不是线程,因为 Linux 下相对来说创建进程的开销比较小,而 Linux 的线程功能又不是很强大。

  • 2019-08-20 11:22:36

    Node.js 单线程与多进程比较

    进过上面两种方式的对比,结果很明显,多进程处理速度是单线程处理速度的 4 倍多。而且有条件的情况下,如果电脑 CPU 足够,进程数更多,那么速度也会更快。