美文网首页我爱编程
1 MySQL二进制部署 2018-05-04

1 MySQL二进制部署 2018-05-04

作者: lizhigang | 来源:发表于2018-05-04 14:14 被阅读0次

    1.数据库类型

    关系型:Oracle、MySQL、PostgreSQL
    NOSQL:HBASE、Redis
    图形:Titan
    时序型:infuxdb

    2.将mysql安装包发送到centOS /usr/local目录下

    [root@sht-sgmhadoopnn-01 ~]# cd /usr/local
    [root@sht-sgmhadoopnn-01 local]# rz mysql-5.6.23-linux-glibc2.5-x86_64.tar.gz

    3.检查是否已安装

    [root@sht-sgmhadoopnn-01 local]# ps -ef|grep mysqld
    root 2493 2423 0 19:48 pts/3 00:00:00 grep mysqld
    [root@sht-sgmhadoopnn-01 local]# rpm -qa |grep -i mysql

    4.解压、重命名

    [root@sht-sgmhadoopnn-01 local]# tar xzvf mysql-5.6.23-linux-glibc2.5-x86_64.tar.gz
    [root@sht-sgmhadoopnn-01 local]# mv mysql-5.6.23-linux-glibc2.5-x86_64 mysql

    5.创建组和用户

    [root@sht-sgmhadoopnn-01 local]# groupadd -g 101 dba
    [root@sht-sgmhadoopnn-01 local]# useradd -u 514 -g dba -G root -d /usr/local/mysql mysqladmin
    [root@sht-sgmhadoopnn-01 local]# id mysqladmin
    uid=514(mysqladmin) gid=101(dba) groups=101(dba),0(root)
    [root@sht-sgmhadoopnn-01 local]# passwd mysqladmin 设置密码

    if user mysqladmin is existing,please execute the following command of usermod.
    [root@sht-sgmhadoopnn-01 local]# usermod -u 514 -g dba -G root -d /usr/local/mysql mysqladmin #

    6.copy 环境变量配置文件至mysqladmin用户的home目录中

    [root@sht-sgmhadoopnn-01 local]# cp /etc/skel/.* /usr/local/mysql

    7.修改 /etc/my.cnf(640)

    [root@sht-sgmhadoopnn-01 ~]# vi /etc/my.cnf
    使用下面内容覆盖原先内容

    [client]
    port            = 3306
    socket          = /usr/local/mysql/data/mysql.sock
     
    [mysqld]
    port            = 3306
    socket          = /usr/local/mysql/data/mysql.sock
    
    skip-external-locking
    key_buffer_size = 256M
    sort_buffer_size = 2M
    read_buffer_size = 2M
    read_rnd_buffer_size = 4M
    query_cache_size= 32M
    max_allowed_packet = 16M
    myisam_sort_buffer_size=128M
    tmp_table_size=32M
    
    table_open_cache = 512
    thread_cache_size = 8
    wait_timeout = 86400
    interactive_timeout = 86400
    max_connections = 600
    
    # Try number of CPU's*2 for thread_concurrency
    thread_concurrency = 32
    
    #isolation level and default engine 
    default-storage-engine = INNODB
    transaction-isolation = READ-COMMITTED
    
    server-id  = 1
    basedir     = /usr/local/mysql
    datadir     = /usr/local/mysql/data
    pid-file     = /usr/local/mysql/data/hostname.pid
    
    #open performance schema
    log-warnings
    sysdate-is-now
    
    binlog_format = MIXED
    log_bin_trust_function_creators=1
    log-error  = /usr/local/mysql/data/hostname.err
    log-bin=/usr/local/mysql/arch/mysql-bin
    #other logs
    #general_log =1
    #general_log_file  = /usr/local/mysql/data/general_log.err
    #slow_query_log=1
    #slow_query_log_file=/usr/local/mysql/data/slow_log.err
    
    #for replication slave
    #log-slave-updates 
    #sync_binlog = 1
    
    #for innodb options 
    innodb_data_home_dir = /usr/local/mysql/data/
    innodb_data_file_path = ibdata1:500M:autoextend
    innodb_log_group_home_dir = /usr/local/mysql/arch
    innodb_log_files_in_group = 2
    innodb_log_file_size = 200M
    
    innodb_buffer_pool_size = 2048M
    innodb_additional_mem_pool_size = 50M
    innodb_log_buffer_size = 16M
    
    innodb_lock_wait_timeout = 100
    #innodb_thread_concurrency = 0
    innodb_flush_log_at_trx_commit = 1
    innodb_locks_unsafe_for_binlog=1
    
    #innodb io features: add for mysql5.5.8
    performance_schema
    innodb_read_io_threads=4
    innodb-write-io-threads=4
    innodb-io-capacity=200
    #purge threads change default(0) to 1 for purge
    innodb_purge_threads=1
    innodb_use_native_aio=on
    
    #case-sensitive file names and separate tablespace
    innodb_file_per_table = 1
    lower_case_table_names=1
    
    [mysqldump]
    quick
    max_allowed_packet = 16M
    
    [mysql]
    no-auto-rehash
    
    [mysqlhotcopy]
    interactive-timeout
    
    [myisamchk]
    key_buffer_size = 256M
    sort_buffer_size = 256M
    read_buffer = 2M
    write_buffer = 2M
    

    确保innodb_buffer_pool_size = 2048M 大于1G

    8.赋权限

    [root@sht-sgmhadoopnn-01 local]# chown mysqladmin:dba /etc/my.cnf
    [root@sht-sgmhadoopnn-01 local]# chmod 640 /etc/my.cnf
    [root@sht-sgmhadoopnn-01 etc]# ll my.cnf
    -rw-r----- 1 mysqladmin dba 2201 Aug 25 23:09 my.cnf

    [root@sht-sgmhadoopnn-01 local]# chown -R mysqladmin:dba /usr/local/mysql
    [root@sht-sgmhadoopnn-01 local]# chmod -R 755 /usr/local/mysql
    [root@sht-sgmhadoopnn-01 local]# su - mysqladmin
    [mysqladmin@sht-sgmhadoopnn-01 ~]$ pwd
    /usr/local/mysql

    9.第一次安装

    [mysqladmin@sht-sgmhadoopnn-01 ~]$ mkdir arch
    [mysqladmin@sht-sgmhadoopnn-01 ~]$ scripts/mysql_install_db --user=mysqladmin --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

    10.配置 mysql 服务 and 设置开机自启

    [root@sht-sgmhadoopnn-01 ~]# cd /usr/local/mysql
    [root@sht-sgmhadoopnn-01 mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysql 将服务文件拷贝到init.d下,并重命名为mysql
    [root@sht-sgmhadoopnn-01 mysql]# chmod +x /etc/rc.d/init.d/mysql 赋予可执行权限
    [root@sht-sgmhadoopnn-01 mysql]# chkconfig --del mysql 删除服务
    [root@sht-sgmhadoopnn-01 mysql]# chkconfig --add mysql 添加服务
    [root@sht-sgmhadoopnn-01 mysql]# chkconfig --level 345 mysql on 设置开机自启

    11.开启服务

    [root@sht-sgmhadoopnn-01 mysql]# su - mysqladmin
    [mysqladmin@sht-sgmhadoopnn-01 ~]$ pwd
    /usr/local/mysql
    [mysqladmin@sht-sgmhadoopnn-01 ~]$ rm -rf my.cnf
    [mysqladmin@sht-sgmhadoopnn-01 ~]$ bin/mysqld_safe & 不要忘记,按回车键

    [root@rzdatahadoop001 lib]# rpm --nodeps -e mysql-libs-5.1.71-1.el6.x86_64 先卸载

    12.服务相关信息

    [mysqladmin@sht-sgmhadoopnn-01 ~]$ ps -ef|grep mysqld 查看服务
    [mysqladmin@sht-sgmhadoopnn-01 ~]$ netstat -tulnp | grep mysql 查看端口号
    [mysqladmin@sht-sgmhadoopnn-01 ~]$ mysql 登录
    mysql> show databases; 查看数据库

    相关文章

      网友评论

        本文标题:1 MySQL二进制部署 2018-05-04

        本文链接:https://www.haomeiwen.com/subject/ibgrrftx.html