Linux网站架构系列之Mysql—-部署篇

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。本篇将为大家讲解mysql的简单部署。

mysql的分为四个版本:

Alpha版:一般只在软件开发公司内部运行,不对外公开。Beta版:完成功能的开发和所有的测试工作之后的产品,不会存在较大的漏洞和BUG,并且邀请和提供给用户体验与测试,以便更全面地测试软件的不足之处或存在的问题。RC版:属于生产环境发布之前的一个小版本或称候选版本,是测试Beta版本二收集到的BUG或不足之处,根据手机到的信息而进行修复和完善之后的产品。GA版本:软件产品正式发布的版本,也成生产版本的产品。

并且mysql为了更好发展将版本路线分为了三条。

第一条产品线:从5.0版本升级到5.1的系列版本,继续完善与改进其用户体验和性能,同时增加新功能。第二条产品线:为了更好的整合MySQL AB公司,社区和新功能。版本编号从5.4开始,目前发展到5.6。第三条产品线:为了更好推广MySQL Cluster 版本,,从6.0版本开始,目前发展到7.3版本。

由于mysql不同产品线之间的编译安装方法还有差别,因此本篇将分别为大家讲解mysql的5.1.7版本和5.6.13版本的简单部署。

5.1.7版本

环境CentOS6.4 x86_64位 采用最小化安装,系统经过了基本优化selinux为关闭状态,iptables为无限制模式ip:192.168.1.113/24mysql版本:mysql-5.1.70源码包存放位置:/server/tools源码包编译安装位置:/etc/local/软件名称数据库存放位置:/mydata

一、准备工作

1、开发环境部署

[root@c64-web ~]# yum groupinstall “Development tools” “Server Platform Development” -y #安装这两个开发环境的软件包组

[root@c64-web ~]# yum install pcre* -y #安装pcre兼容的正则表达式

2、创建用户及目录

[root@c64-web ~]# groupadd mysql #添加mysql组[root@c64-web ~]# useradd -r mysql -s /sbin/nologin -M mysql #创建mysql用户,并加入mysql组,不创建家目录,关闭登陆[root@c64-web ~]# mkdir /mydata #创建数据库存放目录[root@c64-web ~]# chown -R mysql.mysql /mydata

3、下载源码包

[root@c64-web ~]# cd /server/tools[root@c64-web tools]# wget

二、编译安装

准备工作已经做好了,现在我们就开始编译安装mysql。

[root@c64-web tools]# tar zxf mysql-5.1.70.tar.gz[root@c64-web tools]# cd mysql-5.1.70[root@c64-web mysql-5.1.70]# ./configure \–prefix=/usr/local/mysql \#设定mysql安装路径,默认为/usr/local–with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock \ #指定Mysql socket文件存放目录–localstatedir=/usr/local/mysql/data \#设定mysql的数据文件存放位置–enable-assembler \#允许使用汇编模式(优化性能)–enable-thread-safe-client \ #以线程方式编译客户端–with-mysqld-user=mysql \#指定MySQL运行的系统用户–with-big-tables \#启用大表支持–without-debug \#使用非debug模式–with-pthread \#强制使用pthread线程序库编译–with-extra-charsets=complex \ #复杂字符集支持–without-readline \#使用系统readline代替捆绑副本。–with-ssl \#启用ssl加密–with-embedded-server \#构建嵌入式MySQL库 (libmysqld.a)–enable-local-infile \#让mysql支持从本地加载数据库(默认关闭)–with-plugins=partition#mysql分区功能支持–with-plugins=innobase \#innobas存储引擎支持–with-mysqld-ldflags=-all-static \ #服务器使用静态库(优化性能)–with-client-ldflags=-all-static#客户端使用静态库(优化性能)[root@c64-web mysql-5.1.70]# make && make install

执行了上面的操作之后,mysql-5.1.7版本就编译安装成功了。

下面为快速复制编译文本:

[root@c64-web mysql-5.1.70]# ./configure –prefix=/usr/local/mysql5.1.17 –with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock –localstatedir=/usr/local/mysql/data –enable-assembler –enable-thread-safe-client –with-mysqld-user=mysql –with-big-tables –without-debug –with-pthread –with-extra-charsets=complex –without-readline –with-ssl –with-embedded-server –enable-local-infile –with-plugins=partition –with-plugins=innobase –with-mysqld-ldflags=-all-static –with-client-ldflags=-all-static

三、启动配置

1、创建目录软链接

mysql安装完成之后,我们要先为编译安装好的目录添加软链接。此操作在生产环境中为重要调优参数,添加这条软链接的目的有两点:1、方便人类使用。2、便于以后升级版本。

[root@c64-web mysql-5.1.70]# cd /root[root@c64-web ~]# ln -s /usr/local/mysql5.1.17 /usr/local/mysql

2、创建其它相应目录及权限设置

[root@c64-web ~]# mkdir -p /mydata/data #建立mysql数据文件目录[root@c64-web ~]# chown -R mysql /usr/local/mysql #授权mysql用户访问mysql的安装目录

3、获取Mysql主配置文件并修改

由于mysql的主配置文件,编译安装之后默认是没有的。因此我们需要在mysql的编译包中,选择预支的*.cnf结尾的配置文件将其复制到我们的/etc/目录下。

[root@c64-web ~]# ll /server/tools/mysql-5.1.70/support-files/*.cnf-rw-r–r– 1 root root 4714 11月 6 02:25 /server/tools/mysql-5.1.70/support-files/my-huge.cnf-rw-r–r– 1 root root 19763 11月 6 02:25 /server/tools/mysql-5.1.70/support-files/my-innodb-heavy-4G.cnf-rw-r–r– 1 root root 4688 11月 6 02:25 /server/tools/mysql-5.1.70/support-files/my-large.cnf-rw-r–r– 1 root root 4699 11月 6 02:25 /server/tools/mysql-5.1.70/support-files/my-medium.cnf-rw-r–r– 1 root root 2467 11月 6 02:25 /server/tools/mysql-5.1.70/support-files/my-small.cnf #中小型公司用这个即可[root@c64-web mysql-5.1.70]# /bin/cp /server/tools/mysql-5.1.70/support-files/my-small.cnf /etc/my.cnf修改mysql的主配置文件/etc/my.cnf,添加如下1行datadir=/mydata #我们自定义的数据库存放目录

4、让系统识别源码包安装的软件

a)将mysql的库文件路径加入系统的库文件搜索路径中

方法一:直接做软链接

[root@c64-web ~]# ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql

方法二:利用ldconfig导入系统库(推荐)

[root@c64-web ~]# echo “/usr/local/mysql/lib” >> /etc/ld.so.conf.d/mysql.conf[root@c64-web ~]# ldconfig

b)输出mysql的头文件到系统头文件

[root@c64-web ~]# ln -s /usr/local/mysql/include/mysql /usr/include/mysql

c)配置mysql命令全局使用路径

[root@c64-web ~]# echo “PATH=/usr/local/mysql/bin:$PATH” >>/etc/profile[root@c64-web ~]# source /etc/profile明天的希望,让我们忘了今天的痛苦

Linux网站架构系列之Mysql—-部署篇

相关文章:

你感兴趣的文章:

标签云: