zoukankan      html  css  js  c++  java
  • lnmp-编译安装mysql--多实例

    [root@mysql ~]# yum install  ncurses-devel libaio-devel -y

    [root@mysql cmake-3.6.1]# tar -xf cmake-3.6.1.tar.gz
    [root@mysql cmake-3.6.1]# cd cmake-3.6.1
    [root@mysql cmake-3.6.1]# gmake
    [root@mysql cmake-3.6.1]# gmake install
    [root@mysql cmake-3.6.1]# which cmake
    /usr/local/bin/cmake


    [root@mysql tools]# cd mysql-5.5.49
    [root@mysql mysql-5.5.49]# useradd -s /sbin/nologin -M mysql
    [root@mysql mysql-5.5.49]# id mysql
    uid=500(mysql) gid=500(mysql) groups=500(mysql)

    [root@mysql mysql-5.5.49]# ./configure
    cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.49 
    -DMYSQL_DATADIR=/application/mysql-5.5.49/data 
    -DMYSQL_UNIX_ADDR=/application/mysql-5.5.49/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
    [root@mysql mysql-5.5.49]# make 
    [root@mysql mysql-5.5.49]# make install 
    

     [root@mysql /]# ln -s /application/mysql-5.5.49/  /application/mysql
    root@mysql mysql-5.5.49]# mkdir  -p /data/{3306,3307}/data

    为了配置多实例需要,需要每个实例建立一个my.cnf配置文件和一个启动文件mysql
    配置my.cnf
    [root@mysql mysql-5.5.49]# cp support-files/my-small.cnf  /data/3306/my.cnf
    [root@mysql mysql-5.5.49]# cp support-files/my-small.cnf  /data/3307/my.cnf

    [root@mysql 3307]# cat my.cnf
    [client]
    port = 3307
    socket = /data/3307/mysql.sock
    [mysqld]
    port = 3307
    socket = /data/3307/mysql.sock
    basedir = /application/mysql
    datadir = /data/3307/data
    skip-external-locking
    key_buffer_size = 16M
    max_allowed_packet = 1M
    table_open_cache = 64
    sort_buffer_size = 512K
    net_buffer_length = 8K
    read_buffer_size = 256K
    read_rnd_buffer_size = 512K
    myisam_sort_buffer_size = 8M
    skip-name-resolve
    log-bin=mysql-bin
    binlog_format=mixed
    max_binlog_size = 500M
    server-id = 1
    [mysqld_safe]
    log-error=/data/3307/ilanni.err
    pid-file=/data/3307/ilanni.pid
    [mysqldump]
    quick
    max_allowed_packet = 16M
    [mysql]
    no-auto-rehash
    [myisamchk]
    key_buffer_size = 20M
    sort_buffer_size = 20M
    read_buffer = 2M
    write_buffer = 2M
    [mysqlhotcopy]
    interactive-timeout

    #初始化mysql多实例

    [root@mysql 3306]#/application/mysql/scripts/mysql_install_db --basedir=/application/mysql --datadir=/data/3306/data --user=mysql
    [root@mysql 3307]#/application/mysql/scripts/mysql_install_db --basedir=/application/mysql --datadir=/data/3307/data --user=mysql
    [root@mysql 3307]# tree /data
    [root@mysql 3307]# chown -R mysql:mysql /data/3306
    [root@mysql 3307]# chown -R mysql:mysql /data/3307

    #配置环境变量

    [root@mysql 3307]# echo 'export PATH=/application/mysql/bin:$PATH'   >> /etc/profile 
    [root@mysql 3307]# source /etc/profile
    [root@mysql 3307]# echo $PATH
    /application/mysql/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

    #启动实例

    [root@mysql 3307]# /application/mysql/bin/mysqld_safe --defaults-file=/data/3306/my.cnf &
    [root@mysql 3307]# /application/mysql/bin/mysqld_safe --defaults-file=/data/3307/my.cnf &
    
    [root@mysql 3307]# ps -ef | egrep "3306|3307"
    root     39045  1323  0 08:44 pts/0    00:00:00 /bin/sh /application/mysql/bin/mysqld_safe --defaults-file=/data/3306/my.cnf
    mysql    39358 39045  0 08:44 pts/0    00:00:00 /application/mysql-5.5.49/bin/mysqld --defaults-file=/data/3306/my.cnf --basedir=/application/mysql --datadir=/data/3306/data --plugin-dir=/application/mysql/lib/plugin --user=mysql --log-error=/data/3306/ilanni.err --pid-file=/data/3306/ilanni.pid --socket=/data/3306/mysql.sock --port=3306
    root     39383  1323  0 08:46 pts/0    00:00:00 /bin/sh /application/mysql/bin/mysqld_safe --defaults-file=/data/3307/my.cnf
    mysql    39694 39383  1 08:46 pts/0    00:00:00 /application/mysql-5.5.49/bin/mysqld --defaults-file=/data/3307/my.cnf --basedir=/application/mysql --datadir=/data/3307/data --plugin-dir=/application/mysql/lib/plugin --user=mysql --log-error=/data/3307/ilanni.err --pid-file=/data/3307/ilanni.pid --socket=/data/3307/mysql.sock --port=3307

    #关闭实例

    [root@mysql 3307]# mysqladmin -uroot -S /data/3306/mysql.sock   shutdown 
    [root@mysql 3307]# mysqladmin -uroot -S /data/3307/mysql.sock   shutdown 
    #配置MySQL多实例开机自动启动
    [root@mysql 3306]# echo "#mysql multi instances" >> /etc/rc.local
    [root@mysql 3306]# echo "/data/3306/mysql start" >> /etc/rc.local
    [root@mysql 3306]# echo "/data/3307/mysql start" >> /etc/rc.local
    [root@mysql 3306]# tail -3 /etc/rc.local 
    #mysql multi instances
    /data/3306/mysql start
    /data/3307/mysql start

     #编写MySQL启动脚本      /data/${port}/mysql {start|stop|restart}

    [root@mysql 3307]# pwd
    /data/3307
    [root@mysql 3307]# cat mysql #!/bin/sh #init port=3307 mysql_user="root" mysql_pwd="redhat" CmdPath="/application/mysql/bin" mysql_sock="/data/${port}/mysql.sock" #startup function function_start_mysql() { if [ ! -e "$mysql_sock" ];then printf "Starting MySQL... " /bin/sh ${CmdPath}/mysqld_safe --defaults-file=/data/${port}/my.cnf 2>&1 > /dev/null & else printf "MySQL is running... " exit fi } #stop function function_stop_mysql() { if [ ! -e "$mysql_sock" ];then printf "MySQL is stopped... " exit else printf "Stoping MySQL... " ${CmdPath}/mysqladmin -u ${mysql_user} -p${mysql_pwd} -S /data/${port}/mysql.sock shutdown fi } #restart function function_restart_mysql() { printf "Restarting MySQL... " function_stop_mysql sleep 2 function_start_mysql } case $1 in start) function_start_mysql ;; stop) function_stop_mysql ;; restart) function_restart_mysql ;; *) printf "Usage: /data/${port}/mysql {start|stop|restart} " esac
  • 相关阅读:
    Fiddler:在PC和移动设备上抓取HTTPS数据包
    WP8:在WinRT组件(C++)中调用C#类库的解决方案
    Windows Phone 7.5/8.0/8.1 WebBrowser 渲染异常的原因及解决方法
    Xamarin.iOS开发初体验
    WP8:Unity3D之间的值传递
    【Win10 UWP】QQ SDK(一):SDK基本使用方法
    WP8.1:关于屏幕尺寸和分辨率的那些事儿
    .NET vs2010中使用IrisSkin2.dll轻松实现winForm窗体换肤功能
    记事本的编辑问题,如何删除记事本中某一列不需要的值
    C#制作RDLC报表
  • 原文地址:https://www.cnblogs.com/augustyang/p/6512304.html
Copyright © 2011-2022 走看看