mysql数据库<七>

cmake编译安装mysql多实例



    1.简介

    一台机器开启多个不同的端口,运行多个mysql服务进程,通过不同的soccer监听服务端口来提供各自的服务,使用不同的my.cnf 配置文件、启动程序。

    2.作用:充分利用资源,节省资源(类似合租房)。

    3.多实例应用场景:资源紧张型公司;并发量不是很特别大的业务、门户网站。

     门户网站使用多实例的目的是配硬件好的服务器,节省IDC机柜空间,充分利用硬件资源。  

    4.安装mysql多实例

4.1安装mysql数据库

    写在前面:/server/tools/ 是存放安装包的目录

检查环境

[root@mysql tools]# /etc/init.d/iptables status
iptables: Firewall is not running.
[root@mysql tools]# getenforce 
Disabled

安装依赖包

yum -y install ncurces-devel libaio-devel

准备安装包

-rw-r--r-- 1 root root  5691656 Jul 23 11:24 cmake-2.8.8.tar.gz
-rw-r--r-- 1 root root     3374 Jul 23 14:57 data.zip
-rw-r--r-- 1 root root 24596474 Jul 23 11:25 mysql-5.5.32.tar.gz

安装cmake编译工具

cd /server/tools/
tar xf cmake-2.8.8.tar.gz 
cd cmake-2.8.8
./configure 
gmake
gmake install
cd ../

创建mysql用户和组

groupadd mysql
useradd mysql -s /sbin/nologin -M -g mysql

 编译安装mysql数据库

tar xf mysql-5.5.32.tar.gz 
cd mysql-5.5.32

编译过程中报错:

[root@mysql mysql-5.5.32]# cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.32 \
> -DMYSQL_DATADIR=/application/mysql-5.5.32/data \
> -DMYSQL_UNIX_ADDR=/application/mysql-5.5.32/tmp/mysql.sock \
> -DDEFAULT_CHARSET=utf8 \
> -DDEFAULT_COLLATION=utf8_general_ci \
> -DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \
> -DENABLED_LOCAL_INFILE=ON \
> -DWITH_INNOBASE_STORAGE_ENGINE=1 \
> -DWITH_FEDERATED_STORAGE_ENGINE=1 \
> -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
> -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
> -DWITHOUT_PARTITION_STORAGE_ENGINE=1 \
> -DWITH_FAST_MUTEXES=1 \
> -DWITH_ZLIB=bundled \
> -DENABLED_LOCAL_INFILE=1 \
> -DWITH_READLINE=1 \
> -DWITH_EMBEDDED_SERVER=1 \
> -DWITH_DEBUG=0
-- Running cmake version 2.8.8
-- MySQL 5.5.32
-- Packaging as: mysql-5.5.32-Linux-x86_64
-- Could NOT find Curses (missing:  CURSES_LIBRARY CURSES_INCLUDE_PATH) 
CMake Error at cmake/readline.cmake:83 (MESSAGE):
  Curses library not found.  Please install appropriate package,
      remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.
Call Stack (most recent call first):
  cmake/readline.cmake:118 (FIND_CURSES)
  cmake/readline.cmake:214 (MYSQL_USE_BUNDLED_READLINE)
  CMakeLists.txt:269 (MYSQL_CHECK_READLINE)
-- Configuring incomplete, errors occurred!

解决方法:安装gcc编译工具,然后再编译安装

yum -y install gcc gcc-c++
find / -type f -name "rm CMakeCache.txt"      #有网友建议需要删掉CMakeCache.txt,我找了一下,没找到
cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.32 -DMYSQL_DATADIR=/application/mysql-5.5.32/data -DMYSQL_UNIX_ADDR=/application/mysql-5.5.32/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii -DENABLED_LOCAL_INFILE=ON -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITHOUT_PARTITION_STORAGE_ENGINE=1 -DWITH_FAST_MUTEXES=1 -DWITH_ZLIB=bundled -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1 -DWITH_EMBEDDED_SERVER=1 -DWITH_DEBUG=0

-- Build files have been written to: /server/tools/mysql-5.5.32    #表示编译成功

安装

make && make install

ln -s /application/mysql-5.5.32/ /application/mysql
如果上述操作未出现错误,则MySQL5.5.32软件cmake方式的安装就算成功了。

配置环境变量

echo export 'PATH=/application/mysql/bin:$PATH' >>/etc/profile

[root@mysql mysql-5.5.32]# tail -1 /etc/profile
export PATH=/application/mysql/bin:$PATH

做软链接(便于管理)

ln -s /application/mysql-5.5.32/ /application/mysql
ln -s /application/mysql/bin/* /usr/local/bin/

4.2配置mysql多实例

1)创建实例目录

[root@MySQL~]# mkdir -p /data/{3306,3307}/data
[root@MySQL~]# tree /data/
/data/
├── 3306
│   └── data
└── 3307
    └── data

2) 创建实例的配置文件及启动脚本(此处上传,然后解压)-----最后附上脚本。

mkdir /data/{3306,3307}/data -p
cd /

将data.zip在根下解压

unzip data.zip   
[root@MySQL/]# tree /data/
/data/
├── 3306
│   ├── data          #数据文件
│   ├── my.cnf        #实例的配置文件,设置端口、数据目录等
│   └── mysql
└── 3307
    ├── data
    ├── my.cnf       
    └── mysql         #实例的启动脚本,设置端口、用户名、密码

修改3306和3307的目录及配置文件的权限为700

[root@mysql data]# find /data -type f -name "mysql"|xargs chmod 700    #更改配置文件权限

[root@mysql data]# find /data -type f -name "mysql"|xargs ls -l    
-rwx------ 1 root root 1307 Jul 15  2013 /data/3306/mysql
-rwx------ 1 root root 1307 Jul 21  2013 /data/3307/mysql

3)实例初始化(生成基本数据库及文件)

cd /application/mysql/scripts/
./mysql_install_db --basedir=/application/mysql/ --datadir=/data/3306/data/ --user=mysql
./mysql_install_db --basedir=/application/mysql/ --datadir=/data/3307/data/ --user=mysql

4)启动数据库,并检查

/data/3306/mysql start 
/data/3307/mysql start




未完,还有很多问题




你可能感兴趣的:(数据库,server,服务器,配置文件,mysql多实例)