filer 发表于 2015-11-16 08:18:28

手动编译安装LAMP架构,并且实现nagios图形化监控(五)

  四、MySQL的安装
  MySQL的安装我们采用通用二进制包,因为手动编译安装花费的时间太长太长~而且通用二进制包已经包含了企业所需要的基本功能。因此我们使用这种方案,下载安装包mysql-5.5.43-linux2.6-x86_64.tar.gz。
  1.首先下载好安装包,上传到指定目录下,我还是使用上节的目录即:/usr/local/lampsoft
  2.解压
  tar xvf mysql-5.5.43-linux2.6-x86_64.tar.gz -C /usr/local/
  使用-C参数,将压缩包的解压位置指定到/usr/local下。
  现在/usr/local目录下已经生成一个mysql-5.5.43-linux2.6-x86_64目录,由于这个目录信息含有mysql的版本号,平台架构,因此不想修改它的名字。但是mysql官方文档又建议我们安装子啊/usr/local/mysql下,怎么办呢?做个软连接好了。
  

  3.软连接
  ln -sv /usr/local/mysql-5.5.43-linux2.6-x86_64/ /usr/local/mysql
成功后会这样提示:`/usr/local/mysql' -> `/usr/local/mysql-5.5.43-linux2.6-x86_64/'   
  

  4.创建mysql的用户和组
  groupadd -g 306 -r mysql 创建mysql组,-g指定组ID,此处为306,-r表示创建系统用户组,注意少于500的都是系统用户组。
  useradd -r -g 306 -u 306 mysql 创建mysql组,-g指定属于哪个用户组,-r表示创建系统用户,-u指定用户ID。查看一下创建是否成功
  id mysql显示如下:
  uid=306(mysql) gid=306(mysql) groups=306(mysql) 表示用户id为306,组id为306,用户mysql属于mysql组。有点拗口,习惯了就好了。
  

  5.改变mysql目录下的文件属组和属主
  chown -R mysql:mysql /usr/local/mysql/*
  使用ll命令查看一下属组和属主信息,如下:
  # ll /usr/local/mysql/
total 216
drwxr-xr-x2 mysql mysql   4096 Jul 31 00:42 bin
-rw-r--r--1 mysql mysql17987 Feb 27 16:30 COPYING
drwxr-xr-x3 mysql mysql   4096 Jul 31 00:42 data
drwxr-xr-x2 mysql mysql   4096 Jul 31 00:42 docs
drwxr-xr-x3 mysql mysql   4096 Jul 31 00:42 include
-rw-r--r--1 mysql mysql 148414 Feb 27 16:30 INSTALL-BINARY
drwxr-xr-x3 mysql mysql   4096 Jul 31 00:42 lib
drwxr-xr-x4 mysql mysql   4096 Jul 31 00:42 man
drwxr-xr-x 10 mysql mysql   4096 Jul 31 00:42 mysql-test
-rw-r--r--1 mysql mysql   2496 Feb 27 16:30 README
drwxr-xr-x2 mysql mysql   4096 Jul 31 00:42 scripts
drwxr-xr-x 27 mysql mysql   4096 Jul 31 00:42 share
drwxr-xr-x4 mysql mysql   4096 Jul 31 00:42 sql-bench
drwxr-xr-x2 mysql mysql   4096 Jul 31 00:42 support-files

  

  6.创建mysql数据文件路径,默认是存储在mysql安装目录下面的data下,但是这样以后数据满了的话不好扩展,企业级一般都会使用逻辑卷的方式,使用单独的硬盘或者服务器进行数据的存储,我们暂时不讲的那么深入,等LAMP教程完结之后,我会专门抽出一节将lvm技术。目前我们暂时把数据存储在/mydata/data下,这两个目录都是没有的,需要我们手动创建。
   mkdir -pv /mydata/data 会看到以下提示:
  mkdir: created directory `/mydata'
mkdir: created directory `/mydata/data' 表示创建成功了
  

  7.mysql的初始化执行,我们只需要执行以下安装目录下面的一个脚本文件即可。
  /usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/mydata/data/ --basedir=/usr/local/mysql
  注意:使用--user来指定mysql的用户,datadir指定数据文件路径,因为我们不使用默认的数据存储路径,因此这里是一定要指定的。另外--basedir指定mysql的安装路径,否则会提示找不到./bin/my_print_defaults。
  执行之后没有报错的话,我们的mysql安装就初步完成了,下面的步骤就是调整和规范化了。
  

  8.修改MySQL的属主为root,这样可以在黑客在破解了mysql权限之后,仍然无法修改mysql数据。修改好之后查看一下,整个过程如下:
  # chown -R root /usr/local/mysql/*
# ll /usr/local/mysql/
total 216
drwxr-xr-x2 root mysql   4096 Jul 31 00:42 bin
-rw-r--r--1 root mysql17987 Feb 27 16:30 COPYING
drwxr-xr-x3 root mysql   4096 Jul 31 00:42 data
drwxr-xr-x2 root mysql   4096 Jul 31 00:42 docs
drwxr-xr-x3 root mysql   4096 Jul 31 00:42 include
-rw-r--r--1 root mysql 148414 Feb 27 16:30 INSTALL-BINARY
drwxr-xr-x3 root mysql   4096 Jul 31 00:42 lib
drwxr-xr-x4 root mysql   4096 Jul 31 00:42 man
drwxr-xr-x 10 root mysql   4096 Jul 31 00:42 mysql-test
-rw-r--r--1 root mysql   2496 Feb 27 16:30 README
drwxr-xr-x2 root mysql   4096 Jul 31 00:42 scripts
drwxr-xr-x 27 root mysql   4096 Jul 31 00:42 share
drwxr-xr-x4 root mysql   4096 Jul 31 00:42 sql-bench
drwxr-xr-x2 root mysql   4096 Jul 31 00:42 support-files
  看到所有文件和目录的属组为mysql,属主为root,现在可以执行下一步了——为mysql提供配置文件。
  

  9.其实mysql自己已经把配置文件写好了,在安装目录下的support-files目录下有很多以.cnf结尾的文件,这些就是不同硬件配置所需要的配置文件,一般内存在512M-1G之间使用my-large.cnf文件,2G以上使用my-huge.cnf,具体的大家可以看一下,每个文件里面都有使用配置介绍。这里我们使用my-large.cnf文件。
  cp /usr/local/mysql/support-files/my-large.cnf /etc/my.cnf
  

  10.修改配置文件,最简单的方式只需要修改两处:
  第一处:修改一行代码
  thread_concurrency = 8 (具体要等于几,是根据你cpu的个数乘以2得出的,CPU的个数怎么确定呢?使用这条命令:cat /proc/cpuinfo |grep processor |wc -l,得出的数字就是CPU的个数),我的是2个,因此此处数值改为4.
  即:thread_concurrency =4
  第二处:直接在thread_concurrency = 4下面添加一行代码,即:datadir = /mydata/data
  

  11.为mysql提供sysv服务脚本,顺便提一下,httpd我们也可以写sysv脚本,但是我认为不使用依然能够解决基本问题,比如基本的启动、停止等操作,以及开机自启操作都可使用其他命令简单配置,可能比写脚本更加简单。因为mysql提供好了脚本,我们只需要简单的改个名字复制到/etc/init.d下面就可以,还是非常简单的。
  cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
  给mysqld执行权限,默认都是有的,不过最好检查一下,不然后果很严重。命令:chmod +x /etc.init.d/mysqld,查看一下是不是每个位都含有x项。
  ll /etc/init.d/mysqld
-rwxr-xr-x 1 root root 10880 Jul 31 01:33 /etc/init.d/mysqld

  权限没问题之后,咱们就可以做出自启动了,两条命令:
  # chkconfig--add mysqld
  # chkconfig mysqld on如此即可。
  

  12.下面是mysql的规范化使用了。
  a.)修改帮助文件命令,添加mysql的man路径
  vi /etc/man.config 在最后一行添加如下代码
  MANPATH /usr/local/mysql/man
  
  b.)添加mysql的头文件位置
  我们同样使用软连接实现:
  ln -sv /usr/local/mysql/include/ /usr/include/mysql
  
  c.)添加mysql的执行文件
  vi /etc/profile.d/mysql.sh

添加如下一行代码
  export PATH=$PATH:/usr/local/mysql/bin 添加完成后,执行一下以下命令即可
  source /etc/profile.d/mysql.sh
  
  d.)添加mysql的库文件
  vi /etc/ld.so.conf.d/mysql.conf 在该文件了添加mysql的lib路径,我的是/usr/local/mysql/lib,直接将这行代码写进去就可以了。
  然后使用ldconfig -v让系统重新读取一下库文件。如果配置正确的话,我们可以看到mysql的库文件已将加载进来,如下图所示:


  

  13.到此为止mysql就已经安装配置成功了,我们现在可以连接一下试试了。当然连接之前我们要先启动mysql了,启动命令:service mysqld start。启动成功会有提示信息:
  Starting MySQL... SUCCESS!
  mysql的端口号默认监听在3306,这也是为什么之前那我们把mysql的组和用户ID都设置成306,好记,意义也比较明确。成功之后直接使用mysql就可以连接到mysql服务器上。可以查看版本信息,查看连接用户等信息,如下图:


  
         版权声明:本文为博主原创文章,未经博主允许不得转载。转载请注明作品出处
页: [1]
查看完整版本: 手动编译安装LAMP架构,并且实现nagios图形化监控(五)