手动编译安装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]