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


  • 2017-09-05 11:48:16

    Laravel 服务容器实例教程 —— 深入理解控制反转(IoC)和依赖注入(DI)

    容器,字面上理解就是装东西的东西。常见的变量、对象属性等都可以算是容器。一个容器能够装什么,全部取决于你对该容器的定义。当然,有这样一种容器,它存放的不是文本、数值,而是对象、对象的描述(类、接口)或者是提供对象的回调,通过这种容器,我们得以实现许多高级的功能,其中最常提到的,就是 “解耦” 、“依赖注入(DI)”。本文就从这里开始。

  • 2017-09-11 09:22:09

    nginx配置返回文本或json

     有些时候请求某些接口的时候需要返回指定的文本字符串或者json字符串,如果逻辑非常简单或者干脆是固定的字符串,那么可以使用nginx快速实现,这样就不用编写程序响应请求了,可以减少服务器资源占用并且响应性能非常快

  • 2017-09-11 11:30:09

    linux 获取经过N层Nginx转发的访问来源真实IP

    通常情况下我们使用request.getRemoteAddr()就可以获取到客户端ip,但是当我们使用了nginx作为反向代理后,由于在客户端和web服务器之间增加了中间层,因此web服务器无法直接拿到客户端的ip,通过$remote_addr变量拿到的将是反向代理服务器的ip地址。如果我们想要在web端获得用户的真实ip,就必须在nginx这里作一个赋值操作,如下:

  • 2017-09-11 16:15:11

    Nginx日志管理

    通过访问日志,你可以得到用户地域来源、跳转来源、使用终端、某个URL访问量等相关信息;通过错误日志,你可以得到系统某个服务或server的性能瓶颈等。因此,将日志好好利用,你可以得到很多有价值的信息。

  • 2017-09-11 16:34:14

    Nginx如何保留真实IP和获取前端IP

    squid,varnish以及nginx等,在做反向代理的时候,因为要代替客户端去访问服务器,所以,当请求包经过反向代理后,在代理服务器这里这个IP数据包的IP包头做了修改,最终后端web服务器得到的数据包的头部的源IP地址是代理服务器的IP地址,这样一来,后端服务器的程序给予IP的统计功能就没有任何意义,所以在做代理或集群的时候必须解决这个问题,这里,我以nginx做集群或代理的时候如何给后端web服务器保留(确切的说是传递)客户端的真实IP地址。

  • 2017-09-11 16:35:22

    ngx_http_realip_module使用详解

    网络上关于ngx_http_realip_module的文章千篇一律,全是在说怎么安装,最多贴一个示例配置,却没有说怎么用,为什么这么用,官网文档写得也十分简略,于是就自己探索了一下。