zoukankan      html  css  js  c++  java
  • 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/*

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

  • 相关阅读:
    WTL for Visual Studio 2012 配置详解
    自己动手让Visual Studio的Win32向导支持生成对话框程序
    改造联想Y480的快捷键(跨进程替换窗口过程(子类化)的实现——远程线程注入)
    Visual Studio 2012 Ultimate RTM 体验(附下载地址和KEY)
    VC++实现获取文件占用空间大小的两种方法(非文件大小)
    为Visual Studio添加默认INCLUDE包含路径一劳永逸的方法(更新)
    Winsdows 8 环境下搭建Windows Phone 开发环境
    Linq to Visual Tree可视化树的类Linq查询扩展API(译)
    检测元素是否在界面可显示区域
    Debug the Metro Style App:Registration of the app failed
  • 原文地址:https://www.cnblogs.com/xuziyu/p/10353968.html
Copyright © 2011-2022 走看看