SlideShare ist ein Scribd-Unternehmen logo
1 von 9
oraliux+mysql5 单机多实例源码安装文档


谭雪锋
20120621


安装目录分配:
  源码安装时,可以针对 MYSQL 进行各种个性化的需求配置,包括软件目录结构。对于计
  划在同主机上安装多版本或多数据库实例的需求,可根据配置不同的目录和不同端口来实
  现。
    目录                             位置                         备注
软件安装目录 HOME           /app/mysql/home/mysql_XX      mysqlXX 为版本:mysql5519
配置文件 my.cnf           $HOME/etc/my.cnf
数据文件目录 DATA           /mysqldata/XXX                XXX 为实例名:kmac,sgpm,erm
日志文件目录                $data/log/                    Log 放到各自的数据文件目录下
端口配置                  330433063308                预设 3 个端口给实例




一、前期准备
1、OS 版本检查:
[root@Tanxuefeng /]# uname -a
Linux Tanxuefeng 2.6.32-71.el6.i686 #1 SMP Wed Sep 1 01:26:34 EDT 2010 i686 i686 i386
GNU/Linux
[root@Tanxuefeng /]# cat /etc/issue
Red Hat Enterprise Linux Server release 6.0 (Santiago)
Kernel r on an m

2、支撑软件包的检查与安装
  源码安装时,需要相关的软件进行源码编译( gcc cmake ncurses-devel),检查 OS 中是否已
安装相关软件:
[root@Tanxuefeng /]# rpm -q gcc cmake ncurses-devel
gcc-4.4.4-13.el6.i686
cmake-2.6.4-5.el6.i686
ncurses-devel-5.7-3.20090208.el6.i686
本 OS 中已安装,若未安装则需要从 OS 安装 CD 中找出软件进行安装,见附录 1:支撑软件包安
装。

3、下载 MYSQL 源码安装包:
MYSQL 软件源码安装包下载地址:http://dev.mysql.com/downloads/mysql/
选(GA)选项板,Select Platform: 选择源码             :




最后,根据 OS 版本选择相应的源码版本进行下载(mysql-5.5.25.tar.gz):




二、安装环境配置
1、规划安装目录
[root@Tanxuefeng /]# mkdir -p /app/mysql/home/mysql_5525   ##软件目录
[root@Tanxuefeng /]# mkdir -p /mysqldata/kmac               ##实例 kmac 的数据文件目录
[root@Tanxuefeng /]# mkdir -p /mysqldata/sgpm               ##实例 sgpm 的数据文件目录
[root@Tanxuefeng /]# mkdir -p /mysqldata/erm                ##实例 erm 的数据文件目录
[root@Tanxuefeng /]# mkdir -p /mysqldata/kmac/log           ##实例 kmac 的日志文件目录
[root@Tanxuefeng /]# mkdir -p /mysqldata/sgpm/log           ##实例 sgpm 的日志文件目录
[root@Tanxuefeng /]# mkdir -p /mysqldata/erm/log            ##实例 erm 的日志文件目录

2、创建用户组及用户
[root@Tanxuefeng]# groupadd mysqldba
[root@Tanxuefeng]# useradd -g mysqldba mysql
[root@Tanxuefeng ]# passwd mysql

[root@Tanxuefeng /]# id mysql
uid=501(mysql) gid=501(mysqldba) 组=501(mysqldba)
说明:对于在同一台主机上安装不同版本的数据库时,建议采用不同的账户来进行管理,
可用版本名作为账户名,如 useradd –g mysqldba mysql5519 用于管理 5519 版本的 mysql



3、配置目录权限
[root@Tanxuefeng /]# chown -R mysql:mysqldba /app/mysql /mysqldata
4、配置环境变量
[root@Tanxuefeng /]# su - mysql
[mysql@Tanxuefeng ~]$ vi .bash_profile
PATH=$PATH:/app/mysql/home/mysql_5525/bin:/app/mysql/home/mysql_5525/lib

export PATH
说明:用户可分别在 root 或 mysql 账户下配置环境变量。
对于同一主机安装不同版本的数据库,建议采用不同的账户进行管理




5、配置防火墙
     由于一个实例只能占用一个端口,多实例时需要分配多个端口号,固需要对防火墙进行处
理,以打开相应的端口。
(1) 检查 OS 防火墙是否打开
[mysql@Tanxuefeng ~]$ chkconfig|grep iptab
iptables  0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
说明:打开防火器指定端口的方法,见附录 2:开启防火器端口.
开启: chkconfig iptables on
关闭: chkconfig iptables off
(2) 使用 root 账户打开防火墙三个端口 330433063308
[root@Tanxuefeng /]# iptables -I INPUT -i eth0 -p tcp --dport 3304 -j ACCEPT
[root@Tanxuefeng /]# iptables -I OUTPUT -O eth0 -p tcp --sport 3304 -j ACCEPT
(3) 检查指定端口是否已打开
[root@Tanxuefeng /]# /etc/init.d/iptables status
表格:filter
Chain INPUT (policy ACCEPT)
num target prot opt source             destination
1 ACCEPT tcp -- 0.0.0.0/0               0.0.0.0/0      tcp dpt:3304

Chain FORWARD (policy ACCEPT)
num target prot opt source    destination

Chain OUTPUT (policy ACCEPT)
num target prot opt source           destination
1 ACCEPT tcp -- 0.0.0.0/0             0.0.0.0/0        tcp spt:3304
以同样的方法,分别打开其它两个端口。

三、源码安装 MYSQL 软件(root)
1、上传并解压源码文件
[root@Tanxuefeng soft]# tar zxvf mysql-5.5.25.tar.gz
…………………………
…………………………..

2、构 建 自 定 义 安 装 配 置
[root@Tanxuefeng soft]# cmake -DCMAKE_INSTALL_PREFIX=/app/mysql/home/mysql_5525 
-DSYSCONFDIR=/app/mysql/home/mysql_5525/etc 
-DEXTRA_CHARSET=utf8 
-DEXTRA_CHARSETS=all 
-DWITH_READLINE=1 
-DWITH_EMBEDDED_SERVER=1 
-DENABLED_LOCAL_INFILE=1 
-DWITH_INNOBASE_STORAGE_ENGINE=1

3、编译源码
[root@Tanxuefeng mysql-5.5.25]# make

…………………………
………………………

4、安装软件
2、编译源码
[root@Tanxuefeng mysql-5.5.25]# make install

…………………………
………………………
源码软件安装完成。下面进行配置。

四、配置多实例
1、删除原来的数据文件目录
[root@Tanxuefeng ~]# cd /app/mysql/home/mysql_5525
[root@Tanxuefeng mysql_5525]# ls
bin   data include    lib mysql-test scripts sql-bench
COPYING docs INSTALL-BINARY man README                 share   support-files
[root@Tanxuefeng mysql_5525]# rm -rf data

2、创建需要的目录
[root@Tanxuefeng mysql_5525]# cd /app/mysql/home/mysql_5525/
[root@Tanxuefeng mysql_5525]# mkdir etc tmp run log binlogs
[root@Tanxuefeng mysql_5525]# chown -R mysql:mysqldba etc tmp run log binlogs

[mysql@Tanxuefeng mysqldata]$ mkdir -p /mysqldata/kmac/socket
[mysql@Tanxuefeng mysqldata]$ mkdir -p /mysqldata/kmac/pid-file
[mysql@Tanxuefeng mysqldata]$ mkdir -p /mysqldata/kmac/log

[mysql@Tanxuefeng mysqldata]$ mkdir -p /mysqldata/sgpm/socket
[mysql@Tanxuefeng mysqldata]$ mkdir -p /mysqldata/sgpm/pid-file
[mysql@Tanxuefeng mysqldata]$ mkdir -p /mysqldata/sgpm/log



3、创建支持多实例的配置文件 my.cnf
(1)复制已有的最小化配置文件,作为基础
[root@Tanxuefeng mysql_5525]# pwd
/app/mysql/home/mysql_5525
[root@Tanxuefeng mysql_5525]# cp ./support-files/my-small.cnf my.cnf


(2)调整修改 my.cnf 加入多实例配置参数
在文件最后增加以下配置:
[root@Tanxuefeng mysql_5525]# vi my.cnf
[mysqld_multi]
mysqld = /app/mysql/home/mysql_5525/bin/mysqld_safe
mysqladmin = /app/mysql/home/mysql_5525/bin/mysqladmin
user = mysql
password = mysql

#instance: kmac
[mysqld1]
datadir = /mysqldata/kmac
socket = /mysqldata/kmac/socket/mysql.sock
pid-file = /mysqldata/kmac/pid-file/mysqld.pid
log=/mysqldata/kmac/log/mysqld_kmac_common.log
log-error=/mysqldata/kmac/log/mysqld_kmac_err.log
log-bin=/mysqldata/kmac/log/mysqld_kmac_bin.bin
user = mysql
port = 3304
server-id = 100

#instance: sgpm
[mysqld2]
datadir = /mysqldata/sgpm
socket = /mysqldata/sgpm/socket/mysql.sock
pid-file = /mysqldata/sgpm/pid-file/mysqld.pid
log=/mysqldata/sgpm/log/mysqld_sgpm_common.log
log-error=/mysqldata/sgpm/log/mysqld_sgpm_err.log
log-bin=/mysqldata/sgpm/log/mysqld_sgpm_bin.bin
user = mysql
port = 3308
server-id = 100


(3) 修改 my.cnf 读写权限,避免普通用户获取到 MySQL 密码
# chown -R root:root /opt/mysql/etc
# chmod 600 /opt/mysql/etc/my.cnf
五、初始化数据库
(1)初始化实例[mysqld1]
[mysql@Tanxuefeng]$ scripts/mysql_install_db --basedir=/app/mysql/home/mysql_5525
--user=mysql --datadir=/mysqldata/kmac


(2)初始化实例[mysqld2]
[mysql@Tanxuefeng]$ scripts/mysql_install_db --basedir=/app/mysql/home/mysql_5525
--user=mysql --datadir=/mysqldata/sgpm


六、设置多实例启动参数文件为 my.cnf
     复 制 $HOME/support-files/mysqld_multi.server 启 动 文 件 到 /usr/sbin/ 下 , 并 进 行 调 整 加 入
my.cnf 文件路径,修改 basedirbindir 的路径。
[mysql@Tanxuefeng mysql_5525]$ cp ./support-files/mysqld_multi.server ./etc/
[mysql@Tanxuefeng etc]$ vi mysqld_multi.server
basedir=/app/mysql/home/mysql_5525
bindir=/app/mysql/home/mysql_5525/bin

case "$1" in
  'start' )
     "$mysqld_multi" --defaults-extra-file =/app/mysql/home/mysql_5525/etc/my.cnf start $2
     ;;
  'stop' )
     "$mysqld_multi" --defaults-extra-file =/app/mysql/home/mysql_5525/etc/my.cnf stop $2
     ;;
  'report' )
     "$mysqld_multi" --defaults-extra-file =/app/mysql/home/mysql_5525/etc/my.cnf report $2
     ;;
  'restart' )
     "$mysqld_multi" --defaults-extra-file =/app/mysql/home/mysql_5525/etc/my.cnf stop $2
     "$mysqld_multi" --defaults-extra-file =/app/mysql/home/mysql_5525/etc/my.cnf start $2
     ;;
  *)
     echo "Usage: $0 {start|stop|report|restart}" >&2
     ;;
esac
在文件中加入 config-file 参数文件之后,多实例启动时不需要指定—config-file 参数.
否则需要 mysqld_multi --defaults-extra-file=/app/mysql/home/mysql_5525/my.cnf start 1,2

七、启动多实例
[mysql@Tanxuefeng mysql_5525]$ mysqld_multi start 1,2

[mysql@Tanxuefeng mysql_5525]$ ps -ef|grep mysql|grep kmac
mysql 18884 1 0 10:07 pts/1 00:00:00 /bin/sh /app/mysql/home/mysql_5525/bin/mysqld_safe
--datadir=/mysqldata/kmac --socket=/mysqldata/kmac/socket/mysql.sock --pid-file=/mysqldata/kmac/
pid-file/mysqld.pid --user=mysql --port=3304 --server-id=100

mysql 19233 18884 0 10:07 pts/1 00:00:00 /app/mysql/home/mysql_5525/bin/mysqld --basedir=/
app/mysql/home/mysql_5525 --datadir=/mysqldata/kmac --plugin-dir=/app/mysql/home/mysql_5525/
lib/plugin    --server-id=100    --log-error=/var/log/mysqld.log   --pid-file=/mysqldata/kmac/pid-
file/mysqld.pid --socket=/mysqldata/kmac/socket/mysql.sock --port=3304


八、客户端连接实例与权限
[mysql@Tanxuefeng ~]$ mysql -u root -h127.0.0.1 -P3308
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 2
Server version: 5.5.25-log Source distribution

Copyright (c) 2000, 2011, 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> grant all privileges on *.* to root@"%" identified by "root123";
Query OK, 0 rows affected (0.01 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)


创建账户:
mysql> insert into mysql.user(Host,User,Password) values('localhost','admin',password('admin'));
Query OK, 1 row affected, 3 warnings (0.01 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> grant all on *.* to 'admin'@'%' identified by 'admin' with grant option;
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)




附录 1:支撑软件包安装
(1)安装 GCC
[root@Tanxuefeng app]# mount /dev/cdrom /app/cd
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@Tanxuefeng app]# cd /app/cd
[root@Tanxuefeng cd]# find ./ -name gcc*
./Packages/gcc-4.4.4-13.el6.i686.rpm
./Packages/gcc-c++-4.4.4-13.el6.i686.rpm
./Packages/gcc-gfortran-4.4.4-13.el6.i686.rpm
…………
[root@Tanxuefeng cd]# rpm -ivh ./Packages/gcc-4.4.4-13.el6.i686.rpm
 ./Packages/gcc-c++-4.4.4-13.el6.i686.rpm
warning: ./Packages/gcc-4.4.4-13.el6.i686.rpm: Header V3 RSA/SHA256 Signature, key ID
fd431d51: NOKEY
Preparing...          ########################################### [100%]
      package gcc-4.4.4-13.el6.i686 is already installed
      package gcc-c++-4.4.4-13.el6.i686 is already installed
[root@Tanxuefeng cd]#


( 2)安装 cmake
[root@Tanxuefeng cd]# find ./ -name cmake*
./Packages/cmake-2.6.4-5.el6.i686.rpm
[root@Tanxuefeng cd]# rpm -ivh ./Packages/cmake-2.6.4-5.el6.i686.rpm
warning: ./Packages/cmake-2.6.4-5.el6.i686.rpm: Header V3 RSA/SHA256 Signature, key ID
fd431d51: NOKEY
Preparing...        ########################################### [100%]
     package cmake-2.6.4-5.el6.i686 is already installed
[root@Tanxuefeng cd]#

(3)安装 ncurses-devel
[root@Tanxuefeng cd]# find ./ -name ncurses-devel*
./Packages/ncurses-devel-5.7-3.20090208.el6.i686.rpm
[root@Tanxuefeng cd]# rpm -ivh ./Packages/ncurses-devel-5.7-3.20090208.el6.i686.rpm
warning: ./Packages/ncurses-devel-5.7-3.20090208.el6.i686.rpm: Header V3 RSA/SHA256 Signature,
key ID fd431d51: NOKEY
Preparing...         ########################################### [100%]
     package ncurses-devel-5.7-3.20090208.el6.i686 is already installed
[root@Tanxuefeng cd]#



附录 2:开启防火器端口:
在防火墙上打开端口 3306
[root@Tanxuefeng app]# iptables -I INPUT -i eth0 -p tcp --dport 3306 -j ACCEPT
[root@Tanxuefeng app]# iptables -I OUTPUT -o eth0 -p tcp --sport 3306 -j ACCEPT
[root@Tanxuefeng app]# /etc/rc.d/init.d/iptables save
iptables:将防火墙规则保存到 /etc/sysconfig/iptables:[确定]

Weitere ähnliche Inhalte

Was ist angesagt?

Installation and configuration 11g r2 asm using job role separation(grid & or...
Installation and configuration 11g r2 asm using job role separation(grid & or...Installation and configuration 11g r2 asm using job role separation(grid & or...
Installation and configuration 11g r2 asm using job role separation(grid & or...Zhaoyang Wang
 
Nagios的安装部署和与cacti的整合(linuxtone)
Nagios的安装部署和与cacti的整合(linuxtone)Nagios的安装部署和与cacti的整合(linuxtone)
Nagios的安装部署和与cacti的整合(linuxtone)Yiwei Ma
 
Nginx+常见应用技术指南
Nginx+常见应用技术指南Nginx+常见应用技术指南
Nginx+常见应用技术指南andy54321
 
Php应用程序常见安全问题解析
Php应用程序常见安全问题解析Php应用程序常见安全问题解析
Php应用程序常见安全问题解析mysqlops
 
Hadoop平台搭建
Hadoop平台搭建Hadoop平台搭建
Hadoop平台搭建Liyang Tang
 
Bypat博客出品-利用cent os快速构建自己的发行版
Bypat博客出品-利用cent os快速构建自己的发行版Bypat博客出品-利用cent os快速构建自己的发行版
Bypat博客出品-利用cent os快速构建自己的发行版redhat9
 
Mysql展示功能与源码对应
Mysql展示功能与源码对应Mysql展示功能与源码对应
Mysql展示功能与源码对应zhaolinjnu
 
Puppet安装总结
Puppet安装总结Puppet安装总结
Puppet安装总结Yiwei Ma
 
Oracle dba必备技能 使用os watcher工具监控系统性能负载
Oracle dba必备技能   使用os watcher工具监控系统性能负载Oracle dba必备技能   使用os watcher工具监控系统性能负载
Oracle dba必备技能 使用os watcher工具监控系统性能负载maclean liu
 
Drupal solr
Drupal solrDrupal solr
Drupal solrHen Chen
 
Altibase管理培训 安装篇
Altibase管理培训 安装篇Altibase管理培训 安装篇
Altibase管理培训 安装篇小新 制造
 
南投替代役整理組數位典藏報告
南投替代役整理組數位典藏報告南投替代役整理組數位典藏報告
南投替代役整理組數位典藏報告Bo-Yi Wu
 
九州通 Tsm重新配置文档(2008 11 10)
九州通 Tsm重新配置文档(2008 11 10)九州通 Tsm重新配置文档(2008 11 10)
九州通 Tsm重新配置文档(2008 11 10)heima911
 
2, OCP - installing and creating a database
2, OCP - installing and creating a database2, OCP - installing and creating a database
2, OCP - installing and creating a databaseted-xu
 
Debian 套件打包教學指南 v0.19 - 繁體中文翻譯
Debian 套件打包教學指南 v0.19 - 繁體中文翻譯Debian 套件打包教學指南 v0.19 - 繁體中文翻譯
Debian 套件打包教學指南 v0.19 - 繁體中文翻譯SZ Lin
 
Ruby on Rails 開發環境建置 for Mac
Ruby on Rails 開發環境建置 for MacRuby on Rails 開發環境建置 for Mac
Ruby on Rails 開發環境建置 for MacMarsZ Chen
 
Android系统移植技术详解
Android系统移植技术详解Android系统移植技术详解
Android系统移植技术详解zzc89522
 
Cent os 安装 subversion
Cent os 安装 subversionCent os 安装 subversion
Cent os 安装 subversionYUCHENG HU
 
dbdao.com 汪伟华 my-sql-replication复制高可用配置方案
dbdao.com 汪伟华 my-sql-replication复制高可用配置方案dbdao.com 汪伟华 my-sql-replication复制高可用配置方案
dbdao.com 汪伟华 my-sql-replication复制高可用配置方案maclean liu
 

Was ist angesagt? (20)

Installation and configuration 11g r2 asm using job role separation(grid & or...
Installation and configuration 11g r2 asm using job role separation(grid & or...Installation and configuration 11g r2 asm using job role separation(grid & or...
Installation and configuration 11g r2 asm using job role separation(grid & or...
 
Nagios的安装部署和与cacti的整合(linuxtone)
Nagios的安装部署和与cacti的整合(linuxtone)Nagios的安装部署和与cacti的整合(linuxtone)
Nagios的安装部署和与cacti的整合(linuxtone)
 
Asm+aix
Asm+aixAsm+aix
Asm+aix
 
Nginx+常见应用技术指南
Nginx+常见应用技术指南Nginx+常见应用技术指南
Nginx+常见应用技术指南
 
Php应用程序常见安全问题解析
Php应用程序常见安全问题解析Php应用程序常见安全问题解析
Php应用程序常见安全问题解析
 
Hadoop平台搭建
Hadoop平台搭建Hadoop平台搭建
Hadoop平台搭建
 
Bypat博客出品-利用cent os快速构建自己的发行版
Bypat博客出品-利用cent os快速构建自己的发行版Bypat博客出品-利用cent os快速构建自己的发行版
Bypat博客出品-利用cent os快速构建自己的发行版
 
Mysql展示功能与源码对应
Mysql展示功能与源码对应Mysql展示功能与源码对应
Mysql展示功能与源码对应
 
Puppet安装总结
Puppet安装总结Puppet安装总结
Puppet安装总结
 
Oracle dba必备技能 使用os watcher工具监控系统性能负载
Oracle dba必备技能   使用os watcher工具监控系统性能负载Oracle dba必备技能   使用os watcher工具监控系统性能负载
Oracle dba必备技能 使用os watcher工具监控系统性能负载
 
Drupal solr
Drupal solrDrupal solr
Drupal solr
 
Altibase管理培训 安装篇
Altibase管理培训 安装篇Altibase管理培训 安装篇
Altibase管理培训 安装篇
 
南投替代役整理組數位典藏報告
南投替代役整理組數位典藏報告南投替代役整理組數位典藏報告
南投替代役整理組數位典藏報告
 
九州通 Tsm重新配置文档(2008 11 10)
九州通 Tsm重新配置文档(2008 11 10)九州通 Tsm重新配置文档(2008 11 10)
九州通 Tsm重新配置文档(2008 11 10)
 
2, OCP - installing and creating a database
2, OCP - installing and creating a database2, OCP - installing and creating a database
2, OCP - installing and creating a database
 
Debian 套件打包教學指南 v0.19 - 繁體中文翻譯
Debian 套件打包教學指南 v0.19 - 繁體中文翻譯Debian 套件打包教學指南 v0.19 - 繁體中文翻譯
Debian 套件打包教學指南 v0.19 - 繁體中文翻譯
 
Ruby on Rails 開發環境建置 for Mac
Ruby on Rails 開發環境建置 for MacRuby on Rails 開發環境建置 for Mac
Ruby on Rails 開發環境建置 for Mac
 
Android系统移植技术详解
Android系统移植技术详解Android系统移植技术详解
Android系统移植技术详解
 
Cent os 安装 subversion
Cent os 安装 subversionCent os 安装 subversion
Cent os 安装 subversion
 
dbdao.com 汪伟华 my-sql-replication复制高可用配置方案
dbdao.com 汪伟华 my-sql-replication复制高可用配置方案dbdao.com 汪伟华 my-sql-replication复制高可用配置方案
dbdao.com 汪伟华 my-sql-replication复制高可用配置方案
 

Andere mochten auch

Marjolein thomasgt
Marjolein thomasgtMarjolein thomasgt
Marjolein thomasgtMarjoleinD
 
Presentación con diapositivas de power point
Presentación con diapositivas de power pointPresentación con diapositivas de power point
Presentación con diapositivas de power pointjaneth02
 
T 3 tecno ibai i alex b.
T 3 tecno ibai i alex b.T 3 tecno ibai i alex b.
T 3 tecno ibai i alex b.ibaio
 

Andere mochten auch (7)

Marjolein thomasgt
Marjolein thomasgtMarjolein thomasgt
Marjolein thomasgt
 
Planicel
PlanicelPlanicel
Planicel
 
Presentación con diapositivas de power point
Presentación con diapositivas de power pointPresentación con diapositivas de power point
Presentación con diapositivas de power point
 
IPv6 challenges
IPv6 challengesIPv6 challenges
IPv6 challenges
 
Trandafiri
TrandafiriTrandafiri
Trandafiri
 
T-3
T-3T-3
T-3
 
T 3 tecno ibai i alex b.
T 3 tecno ibai i alex b.T 3 tecno ibai i alex b.
T 3 tecno ibai i alex b.
 

Ähnlich wie Oraliux+mysql5单机多实例安装文档

8, lamp
8, lamp8, lamp
8, lampted-xu
 
Linux network monitoring hands-on pratice
Linux network monitoring hands-on praticeLinux network monitoring hands-on pratice
Linux network monitoring hands-on praticeKenny (netman)
 
九州通 Tsm重新配置文档(2008 11 10)
九州通 Tsm重新配置文档(2008 11 10)九州通 Tsm重新配置文档(2008 11 10)
九州通 Tsm重新配置文档(2008 11 10)heima911
 
linux安装以及LAMP 环境安装详细
linux安装以及LAMP 环境安装详细linux安装以及LAMP 环境安装详细
linux安装以及LAMP 环境安装详细colderboy17
 
5, system admin
5, system admin5, system admin
5, system adminted-xu
 
Ruby on Rails 開發環境建置 for Ubuntu
Ruby on Rails 開發環境建置 for UbuntuRuby on Rails 開發環境建置 for Ubuntu
Ruby on Rails 開發環境建置 for UbuntuMarsZ Chen
 
Tiptop gp 5.1 setup_instructions
Tiptop gp 5.1 setup_instructionsTiptop gp 5.1 setup_instructions
Tiptop gp 5.1 setup_instructionsguest994aeb5
 
GNU Build System
GNU Build SystemGNU Build System
GNU Build Systemimacat .
 
配置Oracle 10g 双向流复制
配置Oracle 10g 双向流复制配置Oracle 10g 双向流复制
配置Oracle 10g 双向流复制maclean liu
 
Apache安装配置mod security
Apache安装配置mod securityApache安装配置mod security
Apache安装配置mod securityHuang Toby
 
Mysql mmm安装指南(翻译)
Mysql mmm安装指南(翻译)Mysql mmm安装指南(翻译)
Mysql mmm安装指南(翻译)Yiwei Ma
 
MySQL快速入门与提高
MySQL快速入门与提高MySQL快速入门与提高
MySQL快速入门与提高mysqlpub
 
Mysql mmm演讲--冯浩
Mysql mmm演讲--冯浩Mysql mmm演讲--冯浩
Mysql mmm演讲--冯浩chinafenghao
 
Mysql mmm演讲-冯浩
Mysql mmm演讲-冯浩Mysql mmm演讲-冯浩
Mysql mmm演讲-冯浩chinafenghao
 
Mysql mmm演讲-冯浩
Mysql mmm演讲-冯浩Mysql mmm演讲-冯浩
Mysql mmm演讲-冯浩chinafenghao
 
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡cachowu
 
Kick start无人值守批量安装linux
Kick start无人值守批量安装linuxKick start无人值守批量安装linux
Kick start无人值守批量安装linuxYiwei Ma
 
Hadoop 安装
Hadoop 安装Hadoop 安装
Hadoop 安装feng lee
 
如何使用 Xhprof 分析網站效能 (真實案例2)
如何使用 Xhprof 分析網站效能 (真實案例2)如何使用 Xhprof 分析網站效能 (真實案例2)
如何使用 Xhprof 分析網站效能 (真實案例2)Cyril Wang
 
Lucene 全文检索实践
Lucene 全文检索实践Lucene 全文检索实践
Lucene 全文检索实践yiditushe
 

Ähnlich wie Oraliux+mysql5单机多实例安装文档 (20)

8, lamp
8, lamp8, lamp
8, lamp
 
Linux network monitoring hands-on pratice
Linux network monitoring hands-on praticeLinux network monitoring hands-on pratice
Linux network monitoring hands-on pratice
 
九州通 Tsm重新配置文档(2008 11 10)
九州通 Tsm重新配置文档(2008 11 10)九州通 Tsm重新配置文档(2008 11 10)
九州通 Tsm重新配置文档(2008 11 10)
 
linux安装以及LAMP 环境安装详细
linux安装以及LAMP 环境安装详细linux安装以及LAMP 环境安装详细
linux安装以及LAMP 环境安装详细
 
5, system admin
5, system admin5, system admin
5, system admin
 
Ruby on Rails 開發環境建置 for Ubuntu
Ruby on Rails 開發環境建置 for UbuntuRuby on Rails 開發環境建置 for Ubuntu
Ruby on Rails 開發環境建置 for Ubuntu
 
Tiptop gp 5.1 setup_instructions
Tiptop gp 5.1 setup_instructionsTiptop gp 5.1 setup_instructions
Tiptop gp 5.1 setup_instructions
 
GNU Build System
GNU Build SystemGNU Build System
GNU Build System
 
配置Oracle 10g 双向流复制
配置Oracle 10g 双向流复制配置Oracle 10g 双向流复制
配置Oracle 10g 双向流复制
 
Apache安装配置mod security
Apache安装配置mod securityApache安装配置mod security
Apache安装配置mod security
 
Mysql mmm安装指南(翻译)
Mysql mmm安装指南(翻译)Mysql mmm安装指南(翻译)
Mysql mmm安装指南(翻译)
 
MySQL快速入门与提高
MySQL快速入门与提高MySQL快速入门与提高
MySQL快速入门与提高
 
Mysql mmm演讲--冯浩
Mysql mmm演讲--冯浩Mysql mmm演讲--冯浩
Mysql mmm演讲--冯浩
 
Mysql mmm演讲-冯浩
Mysql mmm演讲-冯浩Mysql mmm演讲-冯浩
Mysql mmm演讲-冯浩
 
Mysql mmm演讲-冯浩
Mysql mmm演讲-冯浩Mysql mmm演讲-冯浩
Mysql mmm演讲-冯浩
 
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡
 
Kick start无人值守批量安装linux
Kick start无人值守批量安装linuxKick start无人值守批量安装linux
Kick start无人值守批量安装linux
 
Hadoop 安装
Hadoop 安装Hadoop 安装
Hadoop 安装
 
如何使用 Xhprof 分析網站效能 (真實案例2)
如何使用 Xhprof 分析網站效能 (真實案例2)如何使用 Xhprof 分析網站效能 (真實案例2)
如何使用 Xhprof 分析網站效能 (真實案例2)
 
Lucene 全文检索实践
Lucene 全文检索实践Lucene 全文检索实践
Lucene 全文检索实践
 

Oraliux+mysql5单机多实例安装文档

  • 1. oraliux+mysql5 单机多实例源码安装文档 谭雪锋 20120621 安装目录分配: 源码安装时,可以针对 MYSQL 进行各种个性化的需求配置,包括软件目录结构。对于计 划在同主机上安装多版本或多数据库实例的需求,可根据配置不同的目录和不同端口来实 现。 目录 位置 备注 软件安装目录 HOME /app/mysql/home/mysql_XX mysqlXX 为版本:mysql5519 配置文件 my.cnf $HOME/etc/my.cnf 数据文件目录 DATA /mysqldata/XXX XXX 为实例名:kmac,sgpm,erm 日志文件目录 $data/log/ Log 放到各自的数据文件目录下 端口配置 330433063308 预设 3 个端口给实例 一、前期准备 1、OS 版本检查: [root@Tanxuefeng /]# uname -a Linux Tanxuefeng 2.6.32-71.el6.i686 #1 SMP Wed Sep 1 01:26:34 EDT 2010 i686 i686 i386 GNU/Linux [root@Tanxuefeng /]# cat /etc/issue Red Hat Enterprise Linux Server release 6.0 (Santiago) Kernel r on an m 2、支撑软件包的检查与安装 源码安装时,需要相关的软件进行源码编译( gcc cmake ncurses-devel),检查 OS 中是否已 安装相关软件: [root@Tanxuefeng /]# rpm -q gcc cmake ncurses-devel gcc-4.4.4-13.el6.i686 cmake-2.6.4-5.el6.i686 ncurses-devel-5.7-3.20090208.el6.i686 本 OS 中已安装,若未安装则需要从 OS 安装 CD 中找出软件进行安装,见附录 1:支撑软件包安 装。 3、下载 MYSQL 源码安装包: MYSQL 软件源码安装包下载地址:http://dev.mysql.com/downloads/mysql/
  • 2. 选(GA)选项板,Select Platform: 选择源码 : 最后,根据 OS 版本选择相应的源码版本进行下载(mysql-5.5.25.tar.gz): 二、安装环境配置 1、规划安装目录 [root@Tanxuefeng /]# mkdir -p /app/mysql/home/mysql_5525 ##软件目录 [root@Tanxuefeng /]# mkdir -p /mysqldata/kmac ##实例 kmac 的数据文件目录 [root@Tanxuefeng /]# mkdir -p /mysqldata/sgpm ##实例 sgpm 的数据文件目录 [root@Tanxuefeng /]# mkdir -p /mysqldata/erm ##实例 erm 的数据文件目录 [root@Tanxuefeng /]# mkdir -p /mysqldata/kmac/log ##实例 kmac 的日志文件目录 [root@Tanxuefeng /]# mkdir -p /mysqldata/sgpm/log ##实例 sgpm 的日志文件目录 [root@Tanxuefeng /]# mkdir -p /mysqldata/erm/log ##实例 erm 的日志文件目录 2、创建用户组及用户 [root@Tanxuefeng]# groupadd mysqldba [root@Tanxuefeng]# useradd -g mysqldba mysql [root@Tanxuefeng ]# passwd mysql [root@Tanxuefeng /]# id mysql uid=501(mysql) gid=501(mysqldba) 组=501(mysqldba) 说明:对于在同一台主机上安装不同版本的数据库时,建议采用不同的账户来进行管理, 可用版本名作为账户名,如 useradd –g mysqldba mysql5519 用于管理 5519 版本的 mysql 3、配置目录权限 [root@Tanxuefeng /]# chown -R mysql:mysqldba /app/mysql /mysqldata
  • 3. 4、配置环境变量 [root@Tanxuefeng /]# su - mysql [mysql@Tanxuefeng ~]$ vi .bash_profile PATH=$PATH:/app/mysql/home/mysql_5525/bin:/app/mysql/home/mysql_5525/lib export PATH 说明:用户可分别在 root 或 mysql 账户下配置环境变量。 对于同一主机安装不同版本的数据库,建议采用不同的账户进行管理 5、配置防火墙 由于一个实例只能占用一个端口,多实例时需要分配多个端口号,固需要对防火墙进行处 理,以打开相应的端口。 (1) 检查 OS 防火墙是否打开 [mysql@Tanxuefeng ~]$ chkconfig|grep iptab iptables 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭 说明:打开防火器指定端口的方法,见附录 2:开启防火器端口. 开启: chkconfig iptables on 关闭: chkconfig iptables off (2) 使用 root 账户打开防火墙三个端口 330433063308 [root@Tanxuefeng /]# iptables -I INPUT -i eth0 -p tcp --dport 3304 -j ACCEPT [root@Tanxuefeng /]# iptables -I OUTPUT -O eth0 -p tcp --sport 3304 -j ACCEPT (3) 检查指定端口是否已打开 [root@Tanxuefeng /]# /etc/init.d/iptables status 表格:filter Chain INPUT (policy ACCEPT) num target prot opt source destination 1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:3304 Chain FORWARD (policy ACCEPT) num target prot opt source destination Chain OUTPUT (policy ACCEPT) num target prot opt source destination 1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:3304 以同样的方法,分别打开其它两个端口。 三、源码安装 MYSQL 软件(root) 1、上传并解压源码文件 [root@Tanxuefeng soft]# tar zxvf mysql-5.5.25.tar.gz ………………………… ………………………….. 2、构 建 自 定 义 安 装 配 置
  • 4. [root@Tanxuefeng soft]# cmake -DCMAKE_INSTALL_PREFIX=/app/mysql/home/mysql_5525 -DSYSCONFDIR=/app/mysql/home/mysql_5525/etc -DEXTRA_CHARSET=utf8 -DEXTRA_CHARSETS=all -DWITH_READLINE=1 -DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 3、编译源码 [root@Tanxuefeng mysql-5.5.25]# make ………………………… ……………………… 4、安装软件 2、编译源码 [root@Tanxuefeng mysql-5.5.25]# make install ………………………… ……………………… 源码软件安装完成。下面进行配置。 四、配置多实例 1、删除原来的数据文件目录 [root@Tanxuefeng ~]# cd /app/mysql/home/mysql_5525 [root@Tanxuefeng mysql_5525]# ls bin data include lib mysql-test scripts sql-bench COPYING docs INSTALL-BINARY man README share support-files [root@Tanxuefeng mysql_5525]# rm -rf data 2、创建需要的目录 [root@Tanxuefeng mysql_5525]# cd /app/mysql/home/mysql_5525/ [root@Tanxuefeng mysql_5525]# mkdir etc tmp run log binlogs [root@Tanxuefeng mysql_5525]# chown -R mysql:mysqldba etc tmp run log binlogs [mysql@Tanxuefeng mysqldata]$ mkdir -p /mysqldata/kmac/socket [mysql@Tanxuefeng mysqldata]$ mkdir -p /mysqldata/kmac/pid-file [mysql@Tanxuefeng mysqldata]$ mkdir -p /mysqldata/kmac/log [mysql@Tanxuefeng mysqldata]$ mkdir -p /mysqldata/sgpm/socket [mysql@Tanxuefeng mysqldata]$ mkdir -p /mysqldata/sgpm/pid-file [mysql@Tanxuefeng mysqldata]$ mkdir -p /mysqldata/sgpm/log 3、创建支持多实例的配置文件 my.cnf
  • 5. (1)复制已有的最小化配置文件,作为基础 [root@Tanxuefeng mysql_5525]# pwd /app/mysql/home/mysql_5525 [root@Tanxuefeng mysql_5525]# cp ./support-files/my-small.cnf my.cnf (2)调整修改 my.cnf 加入多实例配置参数 在文件最后增加以下配置: [root@Tanxuefeng mysql_5525]# vi my.cnf [mysqld_multi] mysqld = /app/mysql/home/mysql_5525/bin/mysqld_safe mysqladmin = /app/mysql/home/mysql_5525/bin/mysqladmin user = mysql password = mysql #instance: kmac [mysqld1] datadir = /mysqldata/kmac socket = /mysqldata/kmac/socket/mysql.sock pid-file = /mysqldata/kmac/pid-file/mysqld.pid log=/mysqldata/kmac/log/mysqld_kmac_common.log log-error=/mysqldata/kmac/log/mysqld_kmac_err.log log-bin=/mysqldata/kmac/log/mysqld_kmac_bin.bin user = mysql port = 3304 server-id = 100 #instance: sgpm [mysqld2] datadir = /mysqldata/sgpm socket = /mysqldata/sgpm/socket/mysql.sock pid-file = /mysqldata/sgpm/pid-file/mysqld.pid log=/mysqldata/sgpm/log/mysqld_sgpm_common.log log-error=/mysqldata/sgpm/log/mysqld_sgpm_err.log log-bin=/mysqldata/sgpm/log/mysqld_sgpm_bin.bin user = mysql port = 3308 server-id = 100 (3) 修改 my.cnf 读写权限,避免普通用户获取到 MySQL 密码 # chown -R root:root /opt/mysql/etc # chmod 600 /opt/mysql/etc/my.cnf
  • 6. 五、初始化数据库 (1)初始化实例[mysqld1] [mysql@Tanxuefeng]$ scripts/mysql_install_db --basedir=/app/mysql/home/mysql_5525 --user=mysql --datadir=/mysqldata/kmac (2)初始化实例[mysqld2] [mysql@Tanxuefeng]$ scripts/mysql_install_db --basedir=/app/mysql/home/mysql_5525 --user=mysql --datadir=/mysqldata/sgpm 六、设置多实例启动参数文件为 my.cnf 复 制 $HOME/support-files/mysqld_multi.server 启 动 文 件 到 /usr/sbin/ 下 , 并 进 行 调 整 加 入 my.cnf 文件路径,修改 basedirbindir 的路径。 [mysql@Tanxuefeng mysql_5525]$ cp ./support-files/mysqld_multi.server ./etc/ [mysql@Tanxuefeng etc]$ vi mysqld_multi.server basedir=/app/mysql/home/mysql_5525 bindir=/app/mysql/home/mysql_5525/bin case "$1" in 'start' ) "$mysqld_multi" --defaults-extra-file =/app/mysql/home/mysql_5525/etc/my.cnf start $2 ;; 'stop' ) "$mysqld_multi" --defaults-extra-file =/app/mysql/home/mysql_5525/etc/my.cnf stop $2 ;; 'report' ) "$mysqld_multi" --defaults-extra-file =/app/mysql/home/mysql_5525/etc/my.cnf report $2 ;; 'restart' ) "$mysqld_multi" --defaults-extra-file =/app/mysql/home/mysql_5525/etc/my.cnf stop $2 "$mysqld_multi" --defaults-extra-file =/app/mysql/home/mysql_5525/etc/my.cnf start $2 ;; *) echo "Usage: $0 {start|stop|report|restart}" >&2 ;; esac 在文件中加入 config-file 参数文件之后,多实例启动时不需要指定—config-file 参数. 否则需要 mysqld_multi --defaults-extra-file=/app/mysql/home/mysql_5525/my.cnf start 1,2 七、启动多实例 [mysql@Tanxuefeng mysql_5525]$ mysqld_multi start 1,2 [mysql@Tanxuefeng mysql_5525]$ ps -ef|grep mysql|grep kmac mysql 18884 1 0 10:07 pts/1 00:00:00 /bin/sh /app/mysql/home/mysql_5525/bin/mysqld_safe --datadir=/mysqldata/kmac --socket=/mysqldata/kmac/socket/mysql.sock --pid-file=/mysqldata/kmac/
  • 7. pid-file/mysqld.pid --user=mysql --port=3304 --server-id=100 mysql 19233 18884 0 10:07 pts/1 00:00:00 /app/mysql/home/mysql_5525/bin/mysqld --basedir=/ app/mysql/home/mysql_5525 --datadir=/mysqldata/kmac --plugin-dir=/app/mysql/home/mysql_5525/ lib/plugin --server-id=100 --log-error=/var/log/mysqld.log --pid-file=/mysqldata/kmac/pid- file/mysqld.pid --socket=/mysqldata/kmac/socket/mysql.sock --port=3304 八、客户端连接实例与权限 [mysql@Tanxuefeng ~]$ mysql -u root -h127.0.0.1 -P3308 Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 2 Server version: 5.5.25-log Source distribution Copyright (c) 2000, 2011, 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> grant all privileges on *.* to root@"%" identified by "root123"; Query OK, 0 rows affected (0.01 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) 创建账户: mysql> insert into mysql.user(Host,User,Password) values('localhost','admin',password('admin')); Query OK, 1 row affected, 3 warnings (0.01 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> grant all on *.* to 'admin'@'%' identified by 'admin' with grant option; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) 附录 1:支撑软件包安装
  • 8. (1)安装 GCC [root@Tanxuefeng app]# mount /dev/cdrom /app/cd mount: block device /dev/sr0 is write-protected, mounting read-only [root@Tanxuefeng app]# cd /app/cd [root@Tanxuefeng cd]# find ./ -name gcc* ./Packages/gcc-4.4.4-13.el6.i686.rpm ./Packages/gcc-c++-4.4.4-13.el6.i686.rpm ./Packages/gcc-gfortran-4.4.4-13.el6.i686.rpm ………… [root@Tanxuefeng cd]# rpm -ivh ./Packages/gcc-4.4.4-13.el6.i686.rpm ./Packages/gcc-c++-4.4.4-13.el6.i686.rpm warning: ./Packages/gcc-4.4.4-13.el6.i686.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY Preparing... ########################################### [100%] package gcc-4.4.4-13.el6.i686 is already installed package gcc-c++-4.4.4-13.el6.i686 is already installed [root@Tanxuefeng cd]# ( 2)安装 cmake [root@Tanxuefeng cd]# find ./ -name cmake* ./Packages/cmake-2.6.4-5.el6.i686.rpm [root@Tanxuefeng cd]# rpm -ivh ./Packages/cmake-2.6.4-5.el6.i686.rpm warning: ./Packages/cmake-2.6.4-5.el6.i686.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY Preparing... ########################################### [100%] package cmake-2.6.4-5.el6.i686 is already installed [root@Tanxuefeng cd]# (3)安装 ncurses-devel [root@Tanxuefeng cd]# find ./ -name ncurses-devel* ./Packages/ncurses-devel-5.7-3.20090208.el6.i686.rpm [root@Tanxuefeng cd]# rpm -ivh ./Packages/ncurses-devel-5.7-3.20090208.el6.i686.rpm warning: ./Packages/ncurses-devel-5.7-3.20090208.el6.i686.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY Preparing... ########################################### [100%] package ncurses-devel-5.7-3.20090208.el6.i686 is already installed [root@Tanxuefeng cd]# 附录 2:开启防火器端口: 在防火墙上打开端口 3306 [root@Tanxuefeng app]# iptables -I INPUT -i eth0 -p tcp --dport 3306 -j ACCEPT [root@Tanxuefeng app]# iptables -I OUTPUT -o eth0 -p tcp --sport 3306 -j ACCEPT [root@Tanxuefeng app]# /etc/rc.d/init.d/iptables save