zoukankan      html  css  js  c++  java
  • Linux下搭建MySQL

    1.在安装mysql数据库服务器前,确保你的linux系统是可以连接网络的,下面我们将通过源码方式来安装mysql,首先确保系统中已经安装的gcc c++ 等编译环境,因为mysql从5.5版本开始是使用cmake编译的,如果三个环境都没安装,可以使用下面的命令进行安装:

       yum -y install make gcc-c++ cmake bison-devel ncurses-devel

    2.查找系统里是否已经安装了mysql数据库的相关组件,使用命令:rpm -qa | grep mysql

       如果查找到,可以使用下面命令进行强制卸载:rpm -e --nodeps 包名

    3.请在当前登录用户的用户目录下(cd 回车)下载mysql的源码安装包

       命令:wget --no-check-certificate https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.24.tar.gz (没有--no-check-certificate命令会报错)

      

    4.下载完成后,使用命令: ls 可以查看当前目前下存在  mysql-5.6.24.tar.gz

     

    5.解压,命令:tar -zxvf mysql-5.6.24.tar.gz 或者 tar -zxf mysql-5.6.24.tar.gz (-zxvf可以看到解压过程,-zxf省略了解压过程)

    6.跳转到解压好的mysql目录里,命令:cd mysql-5.6.24

    7.开始编译mysql文件,首先配置编译的相关参数

       命令:cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

      

    8.接着使用 make && make install 来编译并安装mysql

    9.安装完成后,我们还要建立mysql的配置,首先设置mysql的访问权限,使用命令查看是否已经存在mysql用户及用户组

       跳转到用户目录:cd ~

       查看用户列表命令:cat /etc/passwd 

       查看用户组列表命令:cat /etc/group

    10.如果不存在,我们就要创建:

       添加用户组命令:groupadd mysql

       添加用户:useradd -g mysql mysql

       然后来修改之前安装的mysql所在目录的访问的用户及用户组输入命令:chown -R mysql:mysql /usr/local/mysql

    11.然后是初始化mysql配置

       切换到mysql安装目录:cd /usr/local/mysql

       执行初始化配置脚本,创建mysql自带的系统数据库:./scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

       注意:这个地方可能会出错

      当输入./scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql这个命令后

      会出现上面的错误,原因:不能解析本机主机名!注意红框里的内容,应该是你创建linux时修改的主机名,默认的好像是localhost.localdomain,当然,你搭建linux时没有改动默认主机名,是不会出现这个错误的。

      解决方法:vim /etc/hosts  然后将红框里你自己起的主机名添加到每行的最后,如下图

     

      补充完,重新执行一次./scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

    12.修改mysql配置文件

        输入命令:vi my.cnf  

        在文件中添加如下内容:basedir = /usr/local/mysql

                                       datadir = /usr/local/mysql/data

                                       port = 3306

                                       server_id = 1

                                       socket = /var/lib/mysql/mysql.sock

     

        这一步很重要,需要更改该配置文件的所有者:chown -R mysql:mysql /usr/local/mysql/my.cnf  否则下面启动mysql服务会报错;

        注意:注:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会到你安装的mysql目录找,在本例中就是 /usr/local/mysql/my.cnf。注意:在CentOS 6.4版操作系统的最小安装完成后,在/etc目录下会可能会存在一个my.cnf,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。 重命名的命令是:mv my.cnf my.cnf.bak

    13.添加mysql到开机启动项,并启动mysql服务

        cp support-files/mysql.server /etc/init.d/mysqld    #复制脚本

        chmod +x /etc/init.d/mysqld    #增加可执行权限

        chkconfig --add mysqld    #增加至sysV服务 

        chkconfig mysqld on    #开机自启动

        service mysqld start #启动mysql服务

        netstat -aux|grep mysq #查看启动的mysql进程

        注意:

        service mysqld start  #启动mysql服务 如果报如下错:

        Starting MySQL...The server quit without updating PID file [失败]local/mysql/data/localhost.learn.pid).

        解决方法之一:

        此时:ps -ef | grep mysql  看是否进程里已经存在mysql进程

        如果有进程,用kill -9 进程号(第二个位置上的数字)

        然后再service mysqld start 启动mysql

        其他方法(没试过):

          1.可能是/usr/local/mysql/data/guoqing.pid文件没有写的权限

          解决方法 :给予权限,执行 “chown -R mysql:mysql /usr/local/mysql/data” “chmod -R 755 /usr/local/mysql/data”  然后重新启动mysqld!

      2.可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。
      解决方法:去mysql的数据目录data看看,如果存在mysql-bin.index,就赶快把它删除掉吧,它就是罪魁祸首了。

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

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

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

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

    14.添加mysql的环境变量,以方便以后的操作输入密码

        命令:vi /etc/profile

        在文件的底部添加如下内容:PATH=/usr/local/mysql/bin:$PATH

                                            export PATH

        保存退出

        输入命令,使配置立即生效:source /etc/profile

    15.安装好的mysql,默认root帐户帐户为空,下面我们来修改密码输入命令:mysql -uroot 回车后,然后输入命令:SET PASSWORD = PASSWORD('123456');设置完成后,输入命令:quit; 退出mysql环境;

     

    16.设置好 mysql密码,需要输入如下命令才能够正确登录进mysql:输入命令:mysql -uroot -p 回车后,会提示你输入密码,输入正确并执行后,会看到以mysql>开始的提示行,在这里你可以输入任何有效的sql查询语句:比如输入:show databases;  来显示所有的数据库,注意后面的分号不能丢失,它标识一行命令的结束。至此,恭喜你,mysql安装成功了。

  • 相关阅读:
    leetcode 78. 子集 JAVA
    leetcode 91. 解码方法 JAVA
    leetcode 75. 颜色分类 JAVA
    leetcode 74 搜索二维矩阵 java
    leetcode 84. 柱状图中最大的矩形 JAVA
    last occurance
    first occurance
    classical binary search
    LC.234.Palindrome Linked List
    LC.142. Linked List Cycle II
  • 原文地址:https://www.cnblogs.com/caihonga/p/6519714.html
Copyright © 2011-2022 走看看