zoukankan      html  css  js  c++  java
  • linux下安装mysql

      安装mysql的几种方法:

      1、操作系统自带的rpm包;2、mysql官方的rpm包;3、通用二进制格式;4、源码编译

      下面用园码编译的方法安装,下载地址是 http://pan.baidu.com/s/1pJOhujh

      解压缩:tar -zxf mysql-5.5.36.tar.gz

      切换到解压目录:cd mysql-5.5.36

      安装编译环境:yum install readline-devel ssl-devel zlib-devel gcc gcc-c++ ncurses-devel cmake -y

      编译:cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql

       -DMYSQL_DATADIR=/mydata/data
              -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1
       -DWITH_ARCHIVE_STORAGE_ENGINE=1
              -DWITH_BLACKHOLE_STORAGE_ENGINE=1
              -DWITH_READLINE=1
              -DWITH_SSL=system
              -DWITH_ZLIB=system
              -DWITH_LIBWRAP=0
              -DMYSQL_UNIX_ADDR=/tmp/mysql.sock
              -DDEFAULT_CHARSET=utf8
              -DDEFAULT_COLLATION=utf8_general_ci

      最后就是male 和 make install了。

      当然上诉的安装环境不是一次就能成功的,我这是在自己的机器上的环境,也是经过多次测试才成功的。如果在你的机器上,可能也需要经过几次失败。如果失败后,需要先删除CMakeCache.txt后再编译。下面是我报的错误:

    CMake Error: your CXX compiler: "CMAKE_CXX_COMPILER-NOTFOUND" was not found. 需要安装gcc-c++

    Curses library not found.  Please install appropriate package。需要安装ncurses-devel

      安装完后就是mysql的初始化工作了。

      1、修改用户与组:

      添加mysql组:groupadd -r mysql;添加mysql用户:useradd -r -g mysql -s /sbin/nologin

      创建/mydata/data目录:mkdir -p /mydata/data

      修改:chown  -R :mysql /usr/local/mysql ; chown -R mysql:mysql /mydata/data

      2、执行初始化脚本:scripts/mysql_install_db --user=mysql --datadir=/mydata/data

    如果报如下错误的解决办法:MySQL server PID file could not be found!

    我出错的原因是我在centos7上安装的,可能是systemd与原来的sysV不是蛮兼容,导致用service启动时一直.....,但不提示启动成功,但是用netstat查看3306端口被监听,并且用mysql也能连上,并且service mysqld stop也不好用,会提示MySQL server PID file could not be found!,这个我不知道是什么错误。因此每次都必须用kill杀掉进程。如果不杀就会提示The server quit without updating PID file.杀掉进程后,就会启动成功了。

    1.可能是/mydata/data/rekfan.pid文件没有写的权限
    解决方法 :chmod -R mysql:mysql /mydata/data/

    2.可能进程里已经存在mysql进程
    解决方法:用命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9  进程号”杀死,然后重新启动mysqld!

    3.可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。
    解决方法:去mysql的数据目录/data看看,如果存在mysql-bin.index,就赶快把它删除掉吧,它就是罪魁祸首了。本人就是使用第三条方法解决的 !http://blog.rekfan.com/?p=186

    4.mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir)。
    解决方法:请在[mysqld]下设置这一行:datadir = /usr/local/mysql/data

    5.skip-federated字段问题
    解决方法:检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,如果有就立即注释掉吧。

    6.错误日志目录不存在
    解决方法:使用“chown” “chmod”命令赋予mysql所有者及权限

    7.selinux惹的祸,如果是centos系统,默认会开启selinux
    解决方法:关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试。

    如果忘记mysql的登陆密码可以按如下修改:

      修改mysql的配置文件/etc/my.conf,在其中添加skip-grant-tables

      例如:
      [mysqld]
      datadir=/var/lib/mysql
      socket=/var/lib/mysql/mysql.sock
      skip-grant-tables

    再重启mysqld,重新连接即可修改登陆密码了。

      建议在centos7上还是用mariaDB。

      安装yum install mariadb mariadb-server -y

      启动服务器systemctl start mariadb

      启动客户端mysql -u root -h 127.0.0.1。不推荐-h localhost,因为这是基于unix socket,只能在同一台主机,虽然连接速度比tcp/ip快。

      

  • 相关阅读:
    twfont
    判断数组中某个元素的个数
    vue swiper中的大坑
    this指向问题
    vue.nextTick简单的用法
    类图解析
    设计模式
    设计模式
    Http Notes
    VS Notes
  • 原文地址:https://www.cnblogs.com/Jc-zhu/p/4709376.html
Copyright © 2011-2022 走看看