阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

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

145次阅读
没有评论

共计 11393 个字符,预计需要花费 29 分钟才能阅读完成。

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/24
mysql 版本: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 http://mysql.ntu.edu.tw/Downloads/MySQL-5.1/mysql-5.1.70.tar.gz

二、编译安装
准备工作已经做好了,现在我们就开始编译安装 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 线程序库编译
–enable-assembler \            #使用一些字符函数的汇编版本(优化性能)
–with-extra-charsets=complex \ #字符支持
–with-readline \              #支持行编辑
–with-ssl \                    #启用 ssl 加密
–with-embedded-server \        #编译成 embedded MySQL library (libmysqld.a),
–enable-local-infile \        #让 mysql 支持从本地文件 导入数据库
–with-plugins=partition        #数据库插件
–with-plugins=innobase \      #分表功能,将一个大表分割成多个小表
–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 –enable-assembler –with-extra-charsets=complex –with-readline –with-ssl –with-embedded-server –enable-local-infile –with-plugins=partition,innobase –with-mysqld-ldflags=-all-static –with-client-ldflags=-all-static

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2013-11/92389p2.htm

推荐阅读

Linux 网站架构系列之 Apache—- 部署篇 http://www.linuxidc.com/Linux/2013-11/92304.htm

MySQL 完整安装和主从双机配置 http://www.linuxidc.com/Linux/2013-10/91116.htm

RHEL6 平台 rpm 方式安装 MySQL 数据库 http://www.linuxidc.com/Linux/2013-09/90435.htm

RedHat 6.3 安装 MySQL-server-5.6.13-1.el6.x86_64.rpm http://www.linuxidc.com/Linux/2013-09/89540.htm

Ubuntu 12.04 下源代码安装 MySQL5.6 以及 Python-MySQLdb http://www.linuxidc.com/Linux/2013-08/89270.htm

三、启动配置
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 主配置文件并修改
[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

5、以 mysql 用户的身份建立用户表
[root@c64-web ~]# mysql_install_db –user=mysql –datadir=/mydata  #初始化 mysql 数据库文件
[root@c64-web ~]# mysqld_safe &  #此命令在上条命令的输出中找

由于上一条我们添加了全局路径,所以这里可以直接输入命令进行操作。
mysql 数据库启动的另外一种方法
[root@c64-web ~]# /bin/cp /server/tools/mysql-5.1.70/support-files/mysql.server /etc/init.d/mysqld    #拷贝 mysql 启动脚本 mysql 命令路径
[root@c64-web ~]# chmod 700 /usr/local/mysql/bin/mysqld      #使脚本可执行
[root@c64-web ~]# /etc/init.d/mysqld start    #这是启动数据库方法之一
[root@c64-web ~]# /etc/init.d/mysqld stop    #关闭数据库的方法
[root@c64-web ~]# killalll mysqld #关闭数据库的另外一种方法

6、检查 mysql 数据库是否启动:
12 [root@c64-web ~]# netstat -lnt|grep 3306
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                  LISTEN

可以看到,我们的 mysql 服务已经启动起来了。这里如果发现 3306 端口没起来,请 tail -100 /usr/local/mysql/data/ 机器名.err 检查日志报错进行调试。

7、设置初始账户, 并登陆后台

[root@c64-web ~]# mysqladmin -u root password 123456  #设置密码
[root@c64-web ~]# history -c  #设置之后注意清除历史记录,防止密码泄露
[root@c64-web ~]# mysql -u root -p    #连接数据库查看
Enter password:  #这里输入刚才设置的密码
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.1.70 Source distribution
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
mysql> show databases;  #查看现有的数据库
+——————–+
| Database |
+——————–+
| information_schema |
| mysql |
| test |
+——————–+
3 rows in set (0.00 sec)
mysql> select user();    #查看现有用户
+—————-+
| user() |
+—————-+
| root@localhost |
+—————-+
1 row in set (0.00 sec)
mysql> quit  #退出
Bye

到底我们 mysql-5.1.17 的部署就完成了,下面将是 5.6.13 的部署。
5.6.13 版本
mysql 的第二条产品线和第一条产品线的产品主要在数据存储引擎和编译安装的方法上有点区别,因此这里我就主要对编译安装的部分进行讲解,其它地方都是大同小异的。
mysql-5.6.13 源码包下载地址:http://mysql.ntu.edu.tw/Downloads/MySQL-5.6/mysql-5.6.13.tar.gz
编译参数详解:

[root@c64-web mysql-5.6.13]# cmake
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \          #指定 mysql 安装目录
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \                #Unix socket 文件路径, 自定义此路径防报错
-DDEFAULT_CHARSET=gbk \                            #默认字符
-DDEFAULT_COLLATION=gbk_chinese_ci \              #校验字符
-DEXTRA_CHARSETS=all \                            #安装所有扩展字符集
-DWITH_MYISAM_STORAGE_ENGINE=1 \                  #安装 myisam 存储引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 \                #安装 innodb 存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \                  #安装 archive 存储引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \                #安装 blackhole 存储引擎
-DWITH_MEMORY_STORAGE_ENGINE=1 \                  #安装 memory 存储引擎
-DWITH_FEDERATED_STORAGE_ENGINE=1                  #安装 frderated 存储引擎
-DWITH_READLINE=1 \                                #快捷键功能
-DENABLED_LOCAL_INFILE=1 \                        #允许从本地导入数据
-DMYSQL_DATADIR=/usr/local/mysql/data \            #数据库存放目录
-DMYSQL_USER=mysql \                              #数据库属主
-DMYSQL_TCP_PORT=3306 \                            #数据库端口
-DSYSCONFDIR=/etc \                                #MySQL 配辑文件
-DWITH_SSL=yes                                    #数据库 SSL

下面为快捷复制执行命令:

[root@c64-web mysql-5.6.13]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=gbk -DDEFAULT_COLLATION=gbk_chinese_ci -DEXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306 -DSYSCONFDIR=/etc -DWITH_SSL=yes

执行之后,还是用 make&&make install 来执行编译安装。
后来的其它操作和 5.1.13 一样,这里就不再写一遍了。

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/24
mysql 版本: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 http://mysql.ntu.edu.tw/Downloads/MySQL-5.1/mysql-5.1.70.tar.gz

二、编译安装
准备工作已经做好了,现在我们就开始编译安装 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 线程序库编译
–enable-assembler \            #使用一些字符函数的汇编版本(优化性能)
–with-extra-charsets=complex \ #字符支持
–with-readline \              #支持行编辑
–with-ssl \                    #启用 ssl 加密
–with-embedded-server \        #编译成 embedded MySQL library (libmysqld.a),
–enable-local-infile \        #让 mysql 支持从本地文件 导入数据库
–with-plugins=partition        #数据库插件
–with-plugins=innobase \      #分表功能,将一个大表分割成多个小表
–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 –enable-assembler –with-extra-charsets=complex –with-readline –with-ssl –with-embedded-server –enable-local-infile –with-plugins=partition,innobase –with-mysqld-ldflags=-all-static –with-client-ldflags=-all-static

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2013-11/92389p2.htm

推荐阅读

Linux 网站架构系列之 Apache—- 部署篇 http://www.linuxidc.com/Linux/2013-11/92304.htm

MySQL 完整安装和主从双机配置 http://www.linuxidc.com/Linux/2013-10/91116.htm

RHEL6 平台 rpm 方式安装 MySQL 数据库 http://www.linuxidc.com/Linux/2013-09/90435.htm

RedHat 6.3 安装 MySQL-server-5.6.13-1.el6.x86_64.rpm http://www.linuxidc.com/Linux/2013-09/89540.htm

Ubuntu 12.04 下源代码安装 MySQL5.6 以及 Python-MySQLdb http://www.linuxidc.com/Linux/2013-08/89270.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计11393字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中