zoukankan      html  css  js  c++  java
  • Centos6.5 编译安装Mysql 5.5.3.7

    1、准备依赖包

    yum install gcc* c++ * bison autoconfautomakezlib*  libxml* ncurses-devellibmcrypt* libtool-ltdl-devel*

    yum install cmake*

    2、添加mysql用户和用户组

    groupadd mysql

    useradd -s /sbin/nologin -g mysql

    3、创建数组存放目录

    Mkdir–R /work/mysqlData

    给mysql权限

    Chown–R mysql.mysql/work/mysqlData

    4、编译安装

    解压mysql.5.5.3.7.tar.gz

    Tar –xzvf mysql.5.5.3.7.tar.gz

    进入mysql安装目录

    Cd mysql.5.5.3.7

    编译配置

    cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/work/mysqlData

    注释

    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql配置安装目录

    -DMYSQL_UNIX_ADDR=/tmp/mysql.sock设置sock存放目录

    -DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci设置默认字符集

    -DWITH_INNOBASE_STORAGE_ENGINE=1安装innodb存储引擎

    -DWITH_READLINE=1快捷键功能

    -DENABLED_LOCAL_INFILE=1允许从本地导入数据

    -DMYSQL_DATADIR=/work/mysqlData数据存放目录

    编译安装

    make&& make install

    Copy配置文件

    cp/usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf

    将mysql添加到系统服务中

    cp/usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

    设置mysql启动级别

    chkconfig --level mysqld 2345 on

    5,配置mysql

    修改数据文件存放位置,

    Vi /etc/my.cnf

    内容如下

    [mysqld]

    datadir=/work/mysqlData//设置数据存放目录

    socket=/tmp/mysql.sock//mysql启动sock文件存放地址

    user=mysql//mysql启动用户

    symbolic-links=0//关闭数据分区存储

    log-bin=/work/mysqlData/logs/mysql-bin     //开启bin-log日志,并设置目录

    expire_logs_days = 10//bin-log日志存放时间为10天

    #log-slow-queries = /work/mysqlData/logs/slow.log //开启慢查询日志(注释)

    #long_query_time = 1//慢查询日志最大时间

    log-error=error.log//错误日志名称,

    max_connections = 500//最大连接数

    connect_timeout = 60//连接保存时间

    key_buffer_size = 512M//MyISAM所有缓存大小

    innodb_buffer_pool_size = 1024M//Innodb缓存大小(建议系统内容的3/4)

    myisam_sort_buffer_size = 256M//MyISAM排序缓存区大小

    read_rnd_buffer_size = 32M//MySQL的随机读缓冲区大小

    tmp_table_size=512M//临时表最大值

    max_heap_table_size=512M//内部临时表的最大值

    back_log = 512//能暂存的连接数量

    max_allowed_packet=32M//

    server_id = 9//mysql服务id

    event_scheduler = ON//设定服务器端运行执行计划任务

    [mysqld_safe]

    log_warnings=2//日志等待时间

    pid-file=/var/run/mysqld/mysqld.pid//pid文件目录

    [mysql]

    socket=/tmp/mysql.sock//客户端连接sock文件地址

    6、初始化数据,启动服务

    /usr/local/mysql/scripts/mysql_install_db --user=mysql初始化mysql数据库。

    启动mysql

    servicemysql start

    关闭mysql

    servicemysql stop

    7、备份工具

    安装备份工具

    tarzxf percona-xtrabackup-2.0.8-587.tar.gz   

    cd percona-xtrabackup-2.0.8   

    cp bin/innobackupex /usr/bin   

    cp bin/xtrabackup* /usr/bin

    备份脚本

    #!/bin/bash

    LOG_FILE="/root/stat_data/logs/backup.log"

    DATE_STR=`date '+%Y-%m-%d'`

    echo "" >> $LOG_FILE

    echo "" >> $LOG_FILE

    echo "[`date '+%Y-%m-%d %T'`]  Starting backup Mysql DB " >> $LOG_FILE

    echo "===============================================" >> $LOG_FILE

    echo "STEP 1 : call innobackupex   [`date '+%Y-%m-%d %T'`]" >> $LOG_FILE

    /usr/bin/innobackupex --user=root --password=snow436 --defaults-file=/etc/my.cnf /tmp/db_backup/ >> $LOG_FILE 2>&1

    echo "-----------------------------------------------" >> $LOG_FILE

    echo "STEP 2 : call tar zcf        [`date '+%Y-%m-%d %T'`]" >> $LOG_FILE

    DB_DIR_NAME=`ls -d /tmp/db_backup/$DATE_STR*`

    GZFILE_NAME="/work/db_backup/db_full_$DATE_STR.tar.gz"

    echo "Source path is : $DB_DIR_NAME    Dest path is : $GZFILE_NAME" >> $LOG_FILE

    /bin/tar zcf $GZFILE_NAME $DB_DIR_NAME >> $LOG_FILE 2>&1

    #echo "-----------------------------------------------" >> $LOG_FILE

    #echo "STEP 3 :scp to web1         [`date '+%Y-%m-%d %T'`]" >> $LOG_FILE

    #REMOTE_DIR_NAME="zyx@web1:/work/backup/db_full"

    #echo "Source is : $GZFILE_NAME      Dest is : $REMOTE_DIR_NAME"  >> $LOG_FILE

    #/usr/bin/scp $GZFILE_NAME $REMOTE_DIR_NAME  >> $LOG_FILE 2>&1

    echo "-----------------------------------------------" >> $LOG_FILE

    echo "STEP 4 : remove tmp file $DB_DIR_NAME and $GZFILE_NAME      [`date '+%Y-%m-%d %T'`]" >> $LOG_FILE

    rm -rf $DB_DIR_NAME >> $LOG_FILE 2>&1

    #rm -f $GZFILE_NAME >>  $LOG_FILE 2>&1

    echo "----------------------------------------------">> $LOG_FILE

    echo "delete old data back"

    LAST_MONTH=`date +%Y-%m-%d --date="-2 week"`

    DELETE_FILE="/work/db_backup/db_full_$LAST_MONTH.tar.gz"

    if [ -f $DELETE_FILE ]

    then `/bin/rm -rf $DELETE_FILE`

    echo "deleted $DELETE_FILE" >> $LOG_FILE

    fi

    echo "===============================================" >> $LOG_FILE

    echo "Finished !!      [`date '+%Y-%m-%d %T'`]" >> $LOG_FILE

    复制

    复制用户权限

    grant replication slave,replication client on *.* to slave_user@'10.0.0.8' identified by 'iseeschol';

    flush privileges;

    主服务器增加配置。 

    log_bin = mysql-bin

    server_id=9

    从库设置

    log_bin=mysql-bin

    server_id=8

    relay_log = /work/mysql_data/mysql/logs/mysql-relay-bin

    log_slave_updates=1

    read_only=1

    //设置复制格式

    binlog-format=ROW

    备库中执行命令

    change master to master_host='db1',

    master_user='slave_user',

    master_password='iseeschol',

    master_log_file='mysql-bin.000020',

    master_log_pos=976154084;

    start slave;

    1、  准备依赖包

    yum install gcc* c++ * bison autoconfautomakezlib*  libxml* ncurses-devellibmcrypt* libtool-ltdl-devel*

    yum install cmake*

     

    2、  添加mysql用户和用户组

    groupaddmysql

    useradd -s /sbin/nologin -g mysql

     

    3、  创建数组存放目录

    Mkdir–R /work/mysqlData

    mysql权限

    Chown–R mysql.mysql/work/mysqlData

     

    4、  编译安装

    解压mysql.5.5.3.7.tar.gz

    Tar –xzvf mysql.5.5.3.7.tar.gz

    进入mysql安装目录

    Cd mysql.5.5.3.7

    编译配置

    cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/work/mysqlData

    注释

    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql配置安装目录

    -DMYSQL_UNIX_ADDR=/tmp/mysql.sock设置sock存放目录

    -DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci设置默认字符集

    -DWITH_INNOBASE_STORAGE_ENGINE=1安装innodb存储引擎

    -DWITH_READLINE=1快捷键功能

    -DENABLED_LOCAL_INFILE=1允许从本地导入数据

    -DMYSQL_DATADIR=/work/mysqlData数据存放目录

    编译安装

    make&& make install

     

    Copy配置文件

           cp/usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf

    mysql添加到系统服务中

    cp/usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

    设置mysql启动级别

    chkconfig --level mysqld 2345 on

     

     

          

    5,配置mysql

          

           修改数据文件存放位置,

    Vi /etc/my.cnf

    内容如下

     

     

    [mysqld]

    datadir=/work/mysqlData                                          //设置数据存放目录

    socket=/tmp/mysql.sock                                      //mysql启动sock文件存放地址

    user=mysql                                                           //mysql启动用户

    symbolic-links=0                                                  //关闭数据分区存储

    log-bin=/work/mysqlData/logs/mysql-bin     //开启bin-log日志,并设置目录

    expire_logs_days = 10                                         //bin-log日志存放时间为10

    #log-slow-queries = /work/mysqlData/logs/slow.log //开启慢查询日志(注释)

    #long_query_time = 1                                         //慢查询日志最大时间

    log-error=error.log                                              //错误日志名称,

    max_connections = 500                                       //最大连接数

    connect_timeout = 60                            //连接保存时间

    key_buffer_size = 512M                                      //MyISAM所有缓存大小

    innodb_buffer_pool_size = 1024M                      //Innodb缓存大小

    myisam_sort_buffer_size = 256M                       //MyISAM排序缓存区大小

    read_rnd_buffer_size = 32M                               //MySQL的随机读缓冲区大小

    tmp_table_size=512M                                         //临时表最大值

    max_heap_table_size=512M                              //内部临时表的最大值

    back_log = 512                                                     //能暂存的连接数量

    max_allowed_packet=32M                                 //

    server_id = 9                                                               //mysql服务id

     

    event_scheduler = ON                                         //设定服务器端运行执行计划任务

    [mysqld_safe]

    log_warnings=2                                                   //日志等待时间

    pid-file=/var/run/mysqld/mysqld.pid                  //pid文件目录

    [mysql]

     

    socket=/tmp/mysql.sock                               //客户端连接sock文件地址

     

     

    6、初始化数据,启动服务

    /usr/local/mysql/scripts/mysql_install_db --user=mysql初始化mysql数据库。

    启动mysql

    servicemysql start

    关闭mysql

    servicemysql stop

     

    7、备份工具

    安装备份工具

    tarzxf percona-xtrabackup-2.0.8-587.tar.gz  

    cd percona-xtrabackup-2.0.8  

    cp bin/innobackupex /usr/bin  

    cp bin/xtrabackup* /usr/bin

           备份脚本

                 

     

    #!/bin/bash

     

    LOG_FILE="/root/stat_data/logs/backup.log"

    DATE_STR=`date '+%Y-%m-%d'`

    echo "" >> $LOG_FILE

    echo "" >> $LOG_FILE

    echo "[`date '+%Y-%m-%d %T'`]  Starting backup Mysql DB " >> $LOG_FILE

    echo "===============================================" >> $LOG_FILE

    echo "STEP 1 : call innobackupex   [`date '+%Y-%m-%d %T'`]" >> $LOG_FILE

    /usr/bin/innobackupex --user=root --password=snow436 --defaults-file=/etc/my.cnf /tmp/db_backup/ >> $LOG_FILE 2>&1

     

    echo "-----------------------------------------------" >> $LOG_FILE

    echo "STEP 2 : call tar zcf        [`date '+%Y-%m-%d %T'`]" >> $LOG_FILE

    DB_DIR_NAME=`ls -d /tmp/db_backup/$DATE_STR*`

    GZFILE_NAME="/work/db_backup/db_full_$DATE_STR.tar.gz"

    echo "Source path is : $DB_DIR_NAME    Dest path is : $GZFILE_NAME" >> $LOG_FILE

    /bin/tar zcf $GZFILE_NAME $DB_DIR_NAME >> $LOG_FILE 2>&1

     

    #echo "-----------------------------------------------" >> $LOG_FILE

    #echo "STEP 3 :scp to web1         [`date '+%Y-%m-%d %T'`]" >> $LOG_FILE

    #REMOTE_DIR_NAME="zyx@web1:/work/backup/db_full"

    #echo "Source is : $GZFILE_NAME      Dest is : $REMOTE_DIR_NAME"  >> $LOG_FILE

    #/usr/bin/scp $GZFILE_NAME $REMOTE_DIR_NAME  >> $LOG_FILE 2>&1

     

    echo "-----------------------------------------------" >> $LOG_FILE

    echo "STEP 4 : remove tmp file $DB_DIR_NAME and $GZFILE_NAME      [`date '+%Y-%m-%d %T'`]" >> $LOG_FILE

    rm -rf $DB_DIR_NAME >> $LOG_FILE 2>&1

    #rm -f $GZFILE_NAME >>  $LOG_FILE 2>&1

    echo "----------------------------------------------">> $LOG_FILE

    echo "delete old data back"

     

    LAST_MONTH=`date +%Y-%m-%d --date="-2 week"`

    DELETE_FILE="/work/db_backup/db_full_$LAST_MONTH.tar.gz"

    if [ -f $DELETE_FILE ]

    then `/bin/rm -rf $DELETE_FILE`

    echo "deleted $DELETE_FILE" >> $LOG_FILE

    fi

     

    echo "===============================================" >> $LOG_FILE

    echo "Finished !!      [`date '+%Y-%m-%d %T'`]" >> $LOG_FILE

  • 相关阅读:
    面向对象三大特性之封装
    基本数据类型和引用数据类型
    面向对象三大特性之继承
    多表连接查询
    MySQL模糊查询
    MySQL数据查询入门
    Matlab 之 find()函数
    Matlab 之 字符串数组查找
    Matlab 之 数据元素访问
    让WIN10输入法变回传统模式
  • 原文地址:https://www.cnblogs.com/qy-brother/p/6857502.html
Copyright © 2011-2022 走看看