有过MySQL运维的人应该都清楚,线上的MySQL一般都采用源码编译,因为这样才可以根据企业的各自需要选择要编译的功能,虽然MySQL的源码编译挺简单的,但是试想一下,如果你有几百台服务器同时要安装MySQL,难道你还一台台去手动编译、编写配置文件吗?这显然太低效了,本文讨论MySQL的自动化安装部署。--------------------------------------分割线 --------------------------------------Ubuntu 14.04下安装MySQL http://www.linuxidc.com/Linux/2014-05/102366.htm《MySQL权威指南(原书第2版)》清晰中文扫描版 PDF http://www.linuxidc.com/Linux/2014-03/98821.htmUbuntu 14.04 LTS 安装 LNMP NginxPHP5 (PHP-FPM)MySQL http://www.linuxidc.com/Linux/2014-05/102351.htmUbuntu 14.04下搭建MySQL主从服务器 http://www.linuxidc.com/Linux/2014-05/101599.htmUbuntu 12.04 LTS 构建高可用分布式 MySQL 集群 http://www.linuxidc.com/Linux/2013-11/93019.htmUbuntu 12.04下源代码安装MySQL5.6以及Python-MySQLdb http://www.linuxidc.com/Linux/2013-08/89270.htm--------------------------------------分割线 --------------------------------------1、制作符合自己需求的RPM包我们要根据MySQL的源码编译符合企业需求的RPM包,源码获取命令如下:wget http://downloads.mysql.com/archives/get/file/mysql-5.6.16.tar.gz
tar -zxvf mysql-5.6.16.tar.gz
cd mysql-5.6.16
mkdir rpm
cd rpm在上面我们获取了源码,并在源码主目录下创建rpm目录,接着我们在该目录下创建mysql.spec文件:Name: mysql
Version:5.6.16
Release: guahao
License: GPL
URL: http://downloads.mysql.com/archives/get/file/mysql-5.6.16.tar.gz
Group: applications/database
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
BuildRequires: cmake
Packager: zhuxj@guahao.com
Autoreq: no
prefix: /opt/mysql
Summary: MySQL 5.6.16%description
The MySQL(TM) software delivers a very fast, multi-threaded, multi-user,
and robust SQL (Structured Query Language) database server. MySQL Server
is intended for mission-critical, heavy-load production systems as well
as for embedding into mass-deployed software.%define MYSQL_USER mysql
%define MYSQL_GROUP mysql
%define __os_install_post %{nil}%build
cd $OLDPWD/../
CFLAGS="-O3 -g -fno-exceptions -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing"
CXX=g++
CXXFLAGS="-O3 -g -fno-exceptions -fno-rtti -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing"
export CFLAGS CXX CXXFLAGScmake .
-DSYSCONFDIR:PATH=%{prefix}
-DCMAKE_INSTALL_PREFIX:PATH=%{prefix}
-DCMAKE_BUILD_TYPE:STRING=Release
-DENABLE_PROFILING:BOOL=ON
-DWITH_DEBUG:BOOL=OFF
-DWITH_VALGRIND:BOOL=OFF
-DENABLE_DEBUG_SYNC:BOOL=OFF
-DWITH_EXTRA_CHARSETS:STRING=all
-DWITH_SSL:STRING=bundled
-DWITH_UNIT_TESTS:BOOL=OFF
-DWITH_ZLIB:STRING=bundled
-DWITH_PARTITION_STORAGE_ENGINE:BOOL=ON
-DWITH_INNOBASE_STORAGE_ENGINE:BOOL=ON
-DWITH_ARCHIVE_STORAGE_ENGINE:BOOL=ON
-DWITH_BLACKHOLE_STORAGE_ENGINE:BOOL=ON
-DWITH_PERFSCHEMA_STORAGE_ENGINE:BOOL=ON
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_EXTRA_CHARSETS=all
-DENABLED_LOCAL_INFILE:BOOL=ON
-DWITH_EMBEDDED_SERVER=0
-DINSTALL_LAYOUT:STRING=STANDALONE
-DCOMMUNITY_BUILD:BOOL=ON
-DMYSQL_SERVER_SUFFIX="-r5436";make -j `cat /proc/cpuinfo | grep processor| wc -l`%install
cd $OLDPWD/../
make DESTDIR=$RPM_BUILD_ROOT install%clean
rm -rf $RPM_BUILD_ROOT%files
%defattr(-, %{MYSQL_USER}, %{MYSQL_GROUP})
%attr(755, %{MYSQL_USER}, %{MYSQL_GROUP}) %{prefix}/*%pre%post
ln -s %{prefix}/lib %{prefix}/lib64%preun%changelog有了这个spec文件之后,就可以执行如下命令生成我们自己的RPM包:rpmbuild -bb ./mysql.spec
更多详情见请继续阅读下一页的精彩内容: http://www.linuxidc.com/Linux/2014-07/103973p2.htm
Oracle 重建表(rename)注意事项总结[Oracle] Golden Gate - 概念和机制相关资讯 MySQL安装
- MySQL安装、配置、使用及JDBC链接 (02/23/2015 12:42:19)
- Linux下MySQL默认安装目录和常用命 (10/29/2014 19:07:55)
- MySQL自动化运维之安装篇 (09/21/2014 10:00:17)
| - Linux编译安装MySQL (02/10/2015 19:49:03)
- CentOS 6.5 环境安装 MySQL 5.1 (09/22/2014 05:50:26)
- CentOS 6.4安装MySQL的过程中出现 (08/05/2014 06:40:47)
|
本文评论 查看全部评论 (0)