• 如何在一台服务器上安装两个mysql或者更多


    如何在一台服务器上安装两个mysql

    1       前言

        上篇写了在一台机器上源码编译安装一个mysql,那么如何在一台机器上源码编译安装两个mysql或者更多呢?

    2       环境

    mysql软件包:

    mysql-5.6.31.tar

    mysql-5.5.32.tar

    操作系统环境:

    CentOS release 6.8 (Final)

    3       系统规模

    /mysqlsoft

    用来存放mysql的各个程序

    /mysqlsoft/mysql1

    用来存放mysql-5.5.32.tar

    的安装程序

    /mysqlsoft/mysql2

    用来存放mysql-5.6.31.tar

    的安装程序

    /mysqlsoft/mysql1/mysql.sock

    /mysqlsoft/mysql2/mysql.sock

    /data

    用来存放数据

    /data/mysql1

    用来存放mysql-5.5.32.的数据

    /data/mysql2

    用来存放mysql-5.6.31.的数据

    4       添加用户和目录

    添加用户

    groupadd mysql

    useradd mysql -g mysql

    创建目录

    mkdir /mysqlsoft

    mkdir mysqlsoft/mysql1/ -pv

    mkdir mysqlsoft/mysql2/ -pv

    创建数据目录

    mkdir /data

    mkdir /data/mysql1/ -pv

    mkdir /data/mysql2/ -pv

    更改权限:

    chown -R mysql:mysql mysqlsoft/mysql1

    chown -R mysql:mysql mysqlsoft/mysql2

    chown -R mysql:mysql /data/mysql1

    chown -R mysql:mysql /data/mysql2

    5       编译mysql并安装

    在源码编译安装前我们需要安装一下工具

    cmake,make,gcc,Perl,

    yum install cmake,make,gcc,Perl -y

    5.1     mysql-5.5.32

    cd mysqlsoft/mysql1/

    tar -zxvf mysql-5.5.32.tar.gz

    mkdir bootstarp

    我们把源码编译在bootstarp目录里

    cmake ..  -DCMAKE_INSTALL_PREFIX=/mysqlsoft/mysql1

    -DMYSQL_DATADIR=/data/mysql1

    -DSYSCONFDIR=/mysqlsoft/mysql1

    -DWITH_INNOBASE_STORAGE_ENGINE=1

    -DWITH_ARCHIVE_STORAGE_ENGINE=1

    -DWITH_BLACKHOLE_STORAGE_ENGINE=1

    -DWITH_PERFSCHEMA_STORAGE_ENGINE=1

    -DMYSQL_TCP_PORT=3301

    -DMYSQL_UNIX_ADDR=/mysqlsoft/mysql1/mysql.sock

    编译完后,我们需要make然后make install

    5.2     安装后的工作

    具体参考: http://www.cnblogs.com/karmapeng/p/5844875.html

    cd /mysqlsoft/mysql1

    cp ./support-files/my-default.cnf my.cnf

    编辑my.cnf添加配置项

    chown  -R mysql .

    chgrp  -R mysql .

    初始化mysql:

    scripts/mysql_install_db --user=mysql

    更改mysql数据目录的权限

    5.3     mysql-5.6.31

    cd /mysqlsoft/mysql2

    tar -zxvf mysql-5.6.31.tar.gz

    mkdir bootstarp

    我们把源码编译在bootstarp目录里

    cmake ..  -DCMAKE_INSTALL_PREFIX=/mysqlsoft/mysql2

    -DMYSQL_DATADIR=/data/mysql2

    -DSYSCONFDIR=/mysqlsoft/mysql2

    -DWITH_INNOBASE_STORAGE_ENGINE=1

    -DWITH_ARCHIVE_STORAGE_ENGINE=1

    -DWITH_BLACKHOLE_STORAGE_ENGINE=1

    -DWITH_PERFSCHEMA_STORAGE_ENGINE=1

    -DMYSQL_TCP_PORT=3302

    -DMYSQL_UNIX_ADDR=/mysqlsoft/mysql2/mysql.sock

    编译完后,我们需要make然后make install

    5.4     安装后的工作

    具体参考: http://www.cnblogs.com/karmapeng/p/5844875.html

    cd /mysqlsoft/mysql2

    cp ./support-files/my-default.cnf my.cnf

    编辑my.cnf添加配置项

    chown  -R mysql .

    chgrp  -R mysql .

    初始化mysql:

    scripts/mysql_install_db --user=mysql

    更改mysql数据目录的权限

    6       启动mysql

    6.1     启动mysql-5.5.32

    cd /mysqlsoft/mysql1

    bin/mysqld_safe --user=mysql &

    6.2     启动mysql-5.6.31

    cd /mysqlsoft/mysql2

    bin/mysqld_safe --user=mysql &

    6.3     查看mysql的启动情况

    [root@mysql mysql2]# ps -ef | grep mysql

    root      6329  2853  0 13:19 pts/0    00:00:00 /bin/sh bin/mysqld_safe --user=mysql

    mysql     6607  6329  0 13:19 pts/0    00:00:00 /mysqlsoft/mysql1/bin/mysqld --basedir=/mysqlsoft/mysql1/ --datadir=/data/mysql1/ --plugin-dir=/mysqlsoft/mysql1//lib/plugin --user=mysql --log-error=/data/mysql1//mysql.localdomain.err --pid-file=/data/mysql1//mysql.localdomain.pid --socket=/mysqlsoft/mysql1/mysql.sock --port=3301

    root      6630  2853  0 13:20 pts/0    00:00:00 /bin/sh bin/mysqld_safe --user=mysql

    mysql     6774  6630  0 13:20 pts/0    00:00:00 /mysqlsoft/mysql2/bin/mysqld --basedir=/mysqlsoft/mysql2 --datadir=/data/mysql2 --plugin-dir=/mysqlsoft/mysql2/lib/plugin --user=mysql --log-error=/data/mysql2/mysql.localdomain.err --pid-file=/data/mysql2/mysql.localdomain.pid --socket=/mysqlsoft/mysql2/mysql.sock --port=3302

    6.4     删除mysql里的其他项

    1.改root用户更改密码

    2.删除匿名用户

    3. 删除mysql.db里的一些行,这些行定义了任何用户都可以访问test数据库,或者以test_开头的数据库。

    DELETE FROM mysql.db WHERE Db LIKE 'test%';

    具体请参考

    http://www.cnblogs.com/karmapeng/p/5844875.html

  • 相关阅读:
    Effective Java 的笔记(二)
    设计模式系列 装饰模式
    一道多线程题目的解决方案
    Effective Java 的笔记(一)
    Java 并发编程实践
    【转】微博技术底层架构的实现
    Head First JavaScript 笔记
    JVM 学习笔记 类的加载和执行
    背包问题
    Oracle 序列号通过定时任务重置
  • 原文地址:https://www.cnblogs.com/karmapeng/p/5849174.html
Copyright © 2020-2023  润新知