• 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安装成功了。

  • 相关阅读:
    泛型方法
    Javascript操作Cookie[3]
    委托的发展
    selectorUI元素状态伪类
    服务器端操作Cookie[2]
    泛型
    Action<T>泛型委托
    Javascript创建对象的流程
    Cookie[1]
    后缀名是exe的文件 的打开方式
  • 原文地址:https://www.cnblogs.com/caihonga/p/6519714.html
Copyright © 2020-2023  润新知