(001) Linux下MySQL的安装手册

十年运维系列之基础篇 - MySQL

作者:曾林 

联系:1494445739@qq.com

网站:www.jplatformx.com

版权:文章未经同意请勿转载


 

一、 引言

      本文旨在记述MySQL在Linux下的安装和配置。MySQL在linux下的安装方式有三种,一种是基于RPM安装,RPM是resource package manager简称,也就是资源包管理器,它的作用类似于Win下的“添加/删除程序”;第二种是基于源码安装,这种方式是需要首先将源码进行编译的;第三种方式也就是二进制包安装方式,它是将源码进行编译之后放出来的二进制安装版,类似于win下的exe程序,经过安装设置后直接就可以运行了。我们这里的安装就是采用第三种方式。

       MySQL目前主要有三种分支版本。一种是oracle的MySQL;一种是Mariadb,它是mysql的创始人在mysql被oracle收购之后重新提供的mysql分支;第三分支也就是我们这里介绍的Percona的MySQL分支。

 

二、 安装准备

      Linux:    CentOS release 6.5 (Final) X86_64

      MySQL:  Percona-Server-5.6.22-rel72.0-738.Linux.x86_64.tar.gz

 

三、 安装步骤

      1. 将下载后的压缩包复制(cp)到目录/usr/local。

          命令: 

          #cp Percona-Server-5.6.22-rel72.0-738.Linux.x86_64.tar.gz /usr/local/

          截图:

       

       2. 进入(cd)到/usr/local,将压缩包解压(tar)。

           命令:

           #cd /usr/local

           #tar -xvf Percona-Server-5.6.22-rel72.0-738.Linux.x86_64.tar.gz

           截图:

 

四、 MySQL目录结构

  在成功安装MySQL后,注意这里是成功安装,而不是成功运行,如果要正常运行起MySQL,还需要一些配置。在成功运行MySQL前,先来简单介绍一下MySQL的目录结构,为下一步成功配置MySQL先留下一个比较直观的印象。

  MySQL的一级目录结构如下图(其中白色表示文件,蓝色表示目录):

  由于文件都是一些说明性文字,这里只展示目录结构以及相关目录说明。其中红色部分表示在配置MySQL的时候需要用到。

 

  • data —— 日志文件、数据库
  • bin —— 客户端程序(mysql)和mysqld服务器(配置时用到)
  • docs —— 说明文档、changelog
  • include —— 包含(头)文件
  • lib —— 库
  • man —— man格式的文档
  • scripts —— mysql_install_db(配置时用到)
  • share —— 错误消息文件
  • sql-bench —— 基准程序
  • support-files —— 配置文件和启动托管文件(配置时用到)

 

五、 MySQL配置

  1. 建立mysql用户组(groupadd)和mysql用户(useradd)。 

          命令:

          [root@localhost Percona-Server-5.6.22-rel72.0-738.Linux.x86_64]#groupadd mysql

          [root@localhost Percona-Server-5.6.22-rel72.0-738.Linux.x86_64]#useradd -g mysql mysql

          截图:          

   

      2. 设置mysql文件和目录权限。首先设置data目录的所有者(chown)为mysql,这样可以保证mysql进程可以写data目录。因为所有的数据库增删改查操作本质都在此目录中进行操作,所以必须要保证mysql进程可以读写此目录。

          命令:

          [root@localhost Percona-Server-5.6.22-rel72.0-738.Linux.x86_64]#chown -R mysql data

          截图:

         其次需要设置除data目录以外其他目录和文件的所属用户组(chgrp)为mysql。操作如下(这句命令的结尾有一个点号):

         命令:

         [root@localhost Percona-Server-5.6.22-rel72.0-738.Linux.x86_64]#chgrp -R mysql .

         截图:

 

      3. 运行数据库安装脚本来最后完成mysql的配置。数据库安装脚本位于scripts目录下,脚本名为mysql_install_db,要特别注意运行用户为mysql。因为这是保证生成的目录或文件的所有者为mysql。

          命令:

          [root@localhost Percona-Server-5.6.22-rel72.0-738.Linux.x86_64]#./scripts/mysql_install_db --user=mysql

          截图:

      脚本运行成功后,会显示“OK”字样,同时会在data目录中会生成必须的数据库(除test)和innodb表空间、日志文件等。

        自此,MySQL就可以运行了。直接运行bin目录下的 mysqld_safe 脚本来启动MySQL服务器。

        命令:

        [root@localhost Percona-Server-5.6.22-rel72.0-738.Linux.x86_64]#nohup ./bin/mysqld_safe &

        截图:

 

六、 MySQL安全管理

       MySQL服务器运行起来之后,就可以通过客户端(mysql)直接连接了。但是默认情况是不需要用户名就可以直接访问。如果想做安全设置,只需要在MySQL服务器运行的情况下直接运行bin目录下的脚本mysql_secure_installation,并做相关的配置即可。执行脚本 ./bin/mysql_secure_installation 结果如下图:

      ①. 键入当前MySQL root用户的密码。一般直接不用输入直接回车即可。

      ②. 设置并确认新的root密码。

      ③. 是否删除匿名用户。输入“y"即可。执行此操作就不再允许匿名登录了。

      ④. 不运行root用户远程登录。选择“y"就是不允许,选择“n"就是允许。

      ⑤. 是否删除测试数据库“test”。

      ⑥. 刷新权限表。选择“y”即可。

 

七、 MySQL快捷操作

  操作包括如下三个方面。

  1. 客户端命令和服务端命令放入系统变量PATH。

  操作如下:修改/root/目录下的.bash_profile文件,修改完后使用source命令使其生效。 

      添加内容:

      PATH=/usr/local/Percona-Server-5.6.22-rel72.0-738.Linux.x86_64/bin:$PATH

      export PATH

      截图:

  

      2. 将mysql服务器的托管操作交给service程序。只需要将support-files目录下的mysql.server文件拷贝到/etc/init.d目录下即可,并改名为mysql。以后mysql服务器的启动、停止和状态查看都可以通过执行命令service mysql start|stop|status。操作如下: 

          命令:

       [root@localhost support-files]# mv mysql.server /etc/init.d/mysql

 

  3. 将mysql设置为开机进程。操作如下:

          命令:

          [root@localhost Percona-Server-5.6.22-rel72.0-738.Linux.x86_64]#chkconfig --add --level 234 mysql

          [root@localhost Percona-Server-5.6.22-rel72.0-738.Linux.x86_64]#chkconfig --list | grep -i mysql

          截图:

  

      自此, 整个MySQL安装、配置以及快捷设置全部结束。以后如果要启动、停止或者查看mysql服务器进程可以直接通过命令:

           #service mysql start

           #service mysql stop

           #service mysql status

 

 

posted @ 2015-02-10 09:25  jplatformx  阅读(283)  评论(0编辑  收藏  举报