• TAR部署MYSQL(1)


    2.
    专门的软件会有专门的用户去部署 运行
    oa系统  oaadmin
    erp系统 erpadmin

    mysql 一个关系型数据库 oracle
    oracle
    postgresql
    sqlserver

    id  name   age
    1   ruoze  18
    2          20


    1.Download and Check MD5
    [root@sht-sgmhadoopnn-01 ~]# cd /usr/local
    [root@sht-sgmhadoopnn-01 local]# wget https://downloads.mariadb.com/archives/mysql-5.6/mysql-5.6.23-linux-glibc2.5-x86_64.tar.gz
    [root@sht-sgmhadoopnn-01 local]# wget https://downloads.mariadb.com/archives/mysql-5.6/mysql-5.6.23-linux-glibc2.5-x86_64.tar.gz.md5
    (weget下载安装包网址已失效  使用weget下载的时候中间有可能丢包)
    自备mysql装装包
    mysql-5.6.23-linux-glibc2.5-x86_64.tar.gz
    选择rz上传

    [root@sht-sgmhadoopnn-01 local]# cat mysql-5.6.23-linux-glibc2.5-x86_64.tar.gz.md5
    61affe944eff55fcf51b31e67f25dc10  mysql-5.6.23-linux-glibc2.5-x86_64.tar.gz

    [root@sht-sgmhadoopnn-01 local]# md5sum mysql-5.6.23-linux-glibc2.5-x86_64.tar.gz
    61affe944eff55fcf51b31e67f25dc10  mysql-5.6.23-linux-glibc2.5-x86_64.tar.gz
    当在weget下载的安装包有md5一定要校验一下mysql-5.6.23-linux-glibc2.5-x86_64.tar.gz.md5和
    md5sum mysql-5.6.23-linux-glibc2.5-x86_64.tar.gz之间的区别

    2.Check isnot install
    [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

    3.tar and mv
    [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

    4.Create group and user
    [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

    useradd: warning: the home directory already exists.
    Not copying any file from skel directory into it.
    [root@hadoop001 local]#


    [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
    Changing password for user mysqladmin.
    New UNIX password:
    BAD PASSWORD: it is too simplistic/systematic
    Retype new UNIX password:
    passwd: all authentication tokens updated successfully.
    [root@sht-sgmhadoopnn-01 local]#

    ## 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 #

    ## copy 环境变量配置文件至mysqladmin用户的home目录中,为了以下步骤配置个人环境变量
    [root@sht-sgmhadoopnn-01 local]# cp /etc/skel/.* /usr/local/mysql 
    cp: omitting directory `/etc/skel/.'
    cp: omitting directory `/etc/skel/..'
    cp: omitting directory `/etc/skel/.mozilla'


    对于一个系统想要运行 肯定需要配置文件  my.cnf
    5.Create /etc/my.cnf   (640权限)
    #defualt start: /etc/my.cnf->/etc/mysql/my.cnf->SYSCONFDIR/my.cnf
    ->$MYSQL_HOME/my.cnf-> --defaults-extra-file->~/my.cnf


    [root@sht-sgmhadoopnn-01 mysql]# cd /etc/
    [root@sht-sgmhadoopnn-01 etc]# touch my.cnf
    [root@sht-sgmhadoopnn-01 etc]# vi 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

    #生产上 机械硬盘 sata盘 5000r 7200 10000 15000 ==> ssd 生产
    # innodb_buffer_pool_size 调大 8G

    innodb_buffer_pool_size = 1024M
    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


    6.chown and chmod privileges and try first install
    [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

    #创建arch目录 存储binlog 归档日志   mysql--maxwell--kafka--ss--hbase 实时  mcp

    [mysqladmin@sht-sgmhadoopnn-01 ~]$ mkdir arch


    [mysqladmin@sht-sgmhadoopnn-01 ~]$ scripts/mysql_install_db
    Installing MySQL system tables..../bin/mysqld:
    error while loading shared libraries: libaio.so.1: cannot open shared object file:
    No such file or directory #缺少libaio.so 包

    ###see version
    [root@sht-sgmhadoopnn-01 local]# cat /proc/version
    Linux version 2.6.18-164.11.1.el5 (mockbuild@builder10.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-46)) #1 SMP Wed Jan 20 07:32:21 EST 2010
    [root@sht-sgmhadoopnn-01 local]# rpm -qa |grep gcc
    libgcc-4.1.2-46.el5_4.2
    libgcc-4.1.2-46.el5_4.2
    [root@sht-sgmhadoopnn-01 local]# yum -y install libaio


    7.Again  install
    [mysqladmin@sht-sgmhadoopnn-01 ~]$ scripts/mysql_install_db 
    --user=mysqladmin
    --basedir=/usr/local/mysql
    --datadir=/usr/local/mysql/data


    查看data/hostname.err文件 仔细错误

    8.Configure mysql service and boot auto start(mysql部署开机自启动)
    [root@sht-sgmhadoopnn-01 ~]# cd /usr/local/mysql
    #将服务文件拷贝到init.d下,并重命名为mysql --为了部署开机自启动服务
    [root@sht-sgmhadoopnn-01 mysql]# cp support-files/mysql.server /etc/rc.d/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

    #设置开机自启动,level级别345=on
    [root@sht-sgmhadoopnn-01 mysql]# chkconfig --level 345 mysql on 

    #有时候上边那一步不能真正的做到开机自启动,还需要一下的操作
    [root@sht-sgmhadoopnn-01 mysql]# vi /etc/rc.local
    #!/bin/sh
    #
    # This script will be executed *after* all the other init scripts.
    # You can put your own initialization stuff in here if you don't
    # want to do the full Sys V style init stuff.

    touch /var/lock/subsys/local

    su - mysqladmin -c "/etc/init.d/mysql start --federated"

    9.Start mysql and to view process and listening

    [root@sht-sgmhadoopnn-01 mysql]# su - mysqladmin
    [mysqladmin@sht-sgmhadoopnn-01 ~]$ pwd
    /usr/local/mysql
    [mysqladmin@sht-sgmhadoopnn-01 ~]$ rm -rf my.cnf  my-new.cnf --放着也没有关系  这个文件是在创建家目录时自动创建的


    [mysqladmin@hadoop001 ~]$ service mysql start
    Starting MySQL.                                            [  OK  ]
    [mysqladmin@hadoop001 ~]$
    [mysqladmin@hadoop001 ~]$ service mysql status
    MySQL running (3625)                                       [  OK  ]
    [mysqladmin@hadoop001 ~]$


    [mysqladmin@sht-sgmhadoopnn-01 ~]$ mysqld_safe &  --启动mysql  也可以用service mysql start命令开启  &这个符号是后台执行的意思   执行玩这个命令以后光标一直在跳动  一定要按一次回车键
    [1] 11802
    [mysqladmin@sht-sgmhadoopnn-01 ~]$ 150825 22:53:38 mysqld_safe Logging to '/usr/local/mysql/data/hostname.err'.
    150825 22:53:38 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data/
    150825 22:53:39 mysqld_safe mysqld from pid file /usr/local/mysql/data/hostname.pid ended
    [mysqladmin@sht-sgmhadoopnn-01 ~]$

    [mysqladmin@sht-sgmhadoopnn-01 ~]$ ps -ef|grep mysqld
    514       6247  6219  0 17:30 pts/1    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe
    514       6902  6247  2 17:30 pts/1    00:00:01 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/usr/local/mysql/data/hostname.err --pid-file=/usr/local/mysql/data/hostname.pid --socket=/usr/local/mysql/data/mysql.sock --port=3306
    514       6927  6219  0 17:31 pts/1    00:00:00 grep mysqld

    [mysqladmin@sht-sgmhadoopnn-01 ~]$ netstat -tulnp | grep mysql
    (Not all processes could be identified, non-owned process info
     will not be shown, you would have to be root to see it all.)
    tcp        0      0 :::3306                     :::*                        LISTEN      11541/mysqld       

    [root@sht-sgmhadoopnn-01 local]# service mysql status   --service这个命令也能用的原因是我们已经部署了init.d,机器会在这个命令下去找mysql这个命令
    MySQL running (21507)                                      [  OK  ]


    部署完成了
    创建一个root用户 密码为空
        一个空用户   密码为空


    生产上密码肯定不为空 比如123456
    bin/mysql -uroot  -p -h127.0.0.1 一回城就让你输入密码  这是安全的    不会被history记录

    bin/mysql -uroot  -p123456 -h127.0.0.1 一回城就进数据库 这是不安全的 会被history记录
    bin/mysql -u root  -p 123456 -h 127.0.0.1 -P3306

    10.Login mysql
    [mysqladmin@sht-sgmhadoopnn-01 ~]$ mysql
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 1
    Server version: 5.6.23-log MySQL Community Server (GPL)

    Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.

    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | test               |
    +--------------------+
    4 rows in set (0.00 sec)


    11.Update password and Purge user
    mysql> use mysql
    Database changed

    mysql> update user set password=password('123456') where user='root';


    Query OK, 4 rows affected (0.00 sec)
    Rows matched: 4  Changed: 4  Warnings: 0


    mysql> select host,user,password from user;
    +----------------+------+-------------------------------------------+
    | host           | user | password                                  |
    +----------------+------+-------------------------------------------+
    | localhost      | root | *6340BE3C15D246B0D74BAF3F135915ED19E0069F |
    | sht-sgmhadoopnn-01 | root | *6340BE3C15D246B0D74BAF3F135915ED19E0069F |
    | 127.0.0.1      | root | *6340BE3C15D246B0D74BAF3F135915ED19E0069F |
    | ::1            | root | *6340BE3C15D246B0D74BAF3F135915ED19E0069F |
    | localhost      |      |                                           |
    | sht-sgmhadoopnn-01 |      |                                           |
    +----------------+------+-------------------------------------------+
    6 rows in set (0.00 sec)

    mysql> delete from user where user='';
    mysql> select host,user,password from user;
    +----------------+------+-------------------------------------------+
    | host           | user | password                                  |
    +----------------+------+-------------------------------------------+
    | localhost      | root | *6340BE3C15D246B0D74BAF3F135915ED19E0069F |
    | sht-sgmhadoopnn-01 | root | *6340BE3C15D246B0D74BAF3F135915ED19E0069F |
    | 127.0.0.1      | root | *6340BE3C15D246B0D74BAF3F135915ED19E0069F |
    | ::1            | root | *6340BE3C15D246B0D74BAF3F135915ED19E0069F |
    +----------------+------+-------------------------------------------+
    4 rows in set (0.00 sec)

    #针对用户 权限的操作语句 养成习惯 都最后一步执行刷新权限
    mysql> flush privileges;

    12.Configure .bash_profile
    [mysqladmin@sht-sgmhadoopnn-01 ~]$ cat .bash_profile
    # .bash_profile
    # Get the aliases and functions

    if [ -f ~/.bashrc ]; then
            . ~/.bashrc
    fi

    # User specific environment and startup programs
    export MYSQL_HOME=/usr/local/mysql
    export PATH=${MYSQL_HOME}/bin:$PATH

    PS1=`uname -n`":"'$USER'":"'$PWD'":>"; export PS1--这一步配置是为了让当前登录机器名称,登录用户,和当前所在目录都显示出来。


    -----------------------------------
    eg:

    PATH=$PATH:$HOME/bin
    export PATH

    $PATH=/usr/bin:/usr/local/bin:/usr/local/mysql/bin
    mysql5.5 mysql 假设 /usr/local/bin/mysql
    mysql5.6

    mysql

    Error1: File '/usr/local/mysql/arch/mysql-bin.index' not found (Errcode: 13)
    test2.localdomain:mysqladmin:/usr/local/mysql/arch:>chmod 755 *
    test2.localdomain:mysqladmin:/usr/local/mysql/arch:>chown –R mysqladmin:dba *


    注意以后要是想重新部署mysql那就把家目录下的data和arch这俩个目录下的内容删除干净。

    hadoop001:mysqladmin:/usr/local/mysql/arch:>rm -rf arch/*

    hadoop001:mysqladmin:/usr/local/mysql/arch:>rm -rf data/*

    删除完成以后就可以重新部署

  • 相关阅读:
    Building a Space Station POJ
    Networking POJ
    POJ 1251 Jungle Roads
    CodeForces
    CodeForces
    kuangbin专题 专题一 简单搜索 POJ 1426 Find The Multiple
    The Preliminary Contest for ICPC Asia Shenyang 2019 F. Honk's pool
    The Preliminary Contest for ICPC Asia Shenyang 2019 H. Texas hold'em Poker
    The Preliminary Contest for ICPC Asia Xuzhou 2019 E. XKC's basketball team
    robotparser (File Formats) – Python 中文开发手册
  • 原文地址:https://www.cnblogs.com/xuziyu/p/10353968.html
Copyright © 2020-2023  润新知