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

本文详细介绍MySQL的安装步骤,包括下载安装包、解压、软连接、用户和组创建、文件属主更改、数据文件路径创建、初始化执行、配置文件修改、sysv服务脚本提供等内容。

四、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命令查看一下属组和属主信息,如下:

[root@centos1 local]# ll /usr/local/mysql/
total 216
drwxr-xr-x  2 mysql mysql   4096 Jul 31 00:42 bin
-rw-r--r--  1 mysql mysql  17987 Feb 27 16:30 COPYING
drwxr-xr-x  3 mysql mysql   4096 Jul 31 00:42 data
drwxr-xr-x  2 mysql mysql   4096 Jul 31 00:42 docs
drwxr-xr-x  3 mysql mysql   4096 Jul 31 00:42 include
-rw-r--r--  1 mysql mysql 148414 Feb 27 16:30 INSTALL-BINARY
drwxr-xr-x  3 mysql mysql   4096 Jul 31 00:42 lib
drwxr-xr-x  4 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-x  2 mysql mysql   4096 Jul 31 00:42 scripts
drwxr-xr-x 27 mysql mysql   4096 Jul 31 00:42 share
drwxr-xr-x  4 mysql mysql   4096 Jul 31 00:42 sql-bench
drwxr-xr-x  2 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数据。修改好之后查看一下,整个过程如下:

[root@centos1 mysql]# chown -R root /usr/local/mysql/*
[root@centos1 mysql]# ll /usr/local/mysql/
total 216
drwxr-xr-x  2 root mysql   4096 Jul 31 00:42 bin
-rw-r--r--  1 root mysql  17987 Feb 27 16:30 COPYING
drwxr-xr-x  3 root mysql   4096 Jul 31 00:42 data
drwxr-xr-x  2 root mysql   4096 Jul 31 00:42 docs
drwxr-xr-x  3 root mysql   4096 Jul 31 00:42 include
-rw-r--r--  1 root mysql 148414 Feb 27 16:30 INSTALL-BINARY
drwxr-xr-x  3 root mysql   4096 Jul 31 00:42 lib
drwxr-xr-x  4 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-x  2 root mysql   4096 Jul 31 00:42 scripts
drwxr-xr-x 27 root mysql   4096 Jul 31 00:42 share
drwxr-xr-x  4 root mysql   4096 Jul 31 00:42 sql-bench
drwxr-xr-x  2 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服务器上。可以查看版本信息,查看连接用户等信息,如下图:


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值