LNMPのバイナリインストールmysql-5.54

14930 ワード

目次
  • 1 MySQL
  • 2なぜMySQLデータベースを選んだのか
  • 3 MySQLのインストール方法
  • 4 MySQLバイナリインストール
  • 5故障調査
  • 1 MySQLとは
  • MySQLは、リレーショナル・データベース管理ソフトウェア(リレーショナル・データベースは2 Dテーブルのようなもので、テーブルとテーブルの間に関連がある)です.リレーショナル・データベースの特徴は、データを異なる2 Dテーブルに保存し、すべてのデータを大きな倉庫に統一するのではなく、異なるデータベースに格納することです.このような設計はMySQLの読み取り速度を増加させ、柔軟性と管理性も大幅に向上した.
  • MySQLデータベースへのアクセスおよび管理に最も一般的な標準化言語は、SQL構造化クエリー言語です.

  • 2 MySQLデータベースを選択する理由
    現在、Linuxオペレーティングシステムを使用するインターネット企業のほとんどは、MySQLをバックエンドのデータベースとして使用しており、大手BATポータルから、電子商取引ポータルプラットフォーム、分類ポータルプラットフォームまで例外はありません.MySQLのメリットは以下の点です.
  • 優れたパフォーマンス、安定したサービス、異常なダウンタイムが発生することはめったにありません.
  • オープンソースで著作権の制約がなく、自主性が高く、使用コストが低い.
  • 歴史は悠久で、コミュニティとユーザーはとても活発で、問題に出会って、すぐに助けを得ることができます.
  • ソフトウェアは小型で、インストールと使用が簡単で、メンテナンスが容易で、インストールとメンテナンスのコストが低い.
  • 多種のオペレーティングシステムをサポートし、多種のAPIインターフェースを提供し、多種の開発言語をサポートし、特に流行のPHP言語に対してシームレスにサポートする.
  • ブランド口コミ効果、はい企業は考えずに直接使用します
  • 3 MySQLのインストール方法
    シーケンス番号
    MySQLのインストール方法
    特徴の説明
    1
    yum/rpmパッケージ取付
    簡単で、スピードが速いのが特徴ですが、カスタマイズができません.初心者にはよく使われています.
    2
    バイナリインストール
    解凍酸塩基は簡単に配置して使用することができて、インストールしないで、速度は比較的に速くて、専門のDBAはこのような方式が好きです.ソフトウェア名:mysql-5.5.54-linux 2.6-x86_64.tar.gz
    3
    ソースコードコンパイルインストール
    パラメータのインストールをカスタマイズできるのが特徴ですが、文字セットのインストールパスなど、インストール時間が長いことが特徴です.ソフトウェア名:mysql-5.54.tar.gz
    4
    ソースソフトはyum/rpmと組み合わせてインストールされます
    ソースソフトを要求に合ったrpmに作成し,yum倉庫に入れ,yumでインストールする.上記の1と3の利点を組み合わせると、インストールが迅速で、任意にパラメータをカスタマイズできますが、より深い能力を備えた人が必要です.
    4 MySQLバイナリインストール
    #   mysql-5.5.54     
    wget -O /home/oldboy/tools http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.54-linux2.6-x86_64.tar.gz
    #   mysql-5.5.54 md5  ,      
    wget -O /home/oldboy/tools http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.54-linux2.6-x86_64.tar.gz.md5
    [root@web01 tools]# cat mysql-5.5.54-linux2.6-x86_64.tar.gz.md5 
    cfdc6bbd88e58c6207ffa290bad531b1  mysql-5.5.54-linux2.6-x86_64.tar.gz
    [root@web01 tools]# md5sum -c mysql-5.5.54-linux2.6-x86_64.tar.gz.md5
    mysql-5.5.54-linux2.6-x86_64.tar.gz: OK
    #         ,          ,  rz       。
    #   mysql  
    [root@web01 tools]# useradd mysql -s /sbin/nologin -M
    [root@web01 tools]# id mysql
    uid=504(mysql) gid=504(mysql) groups=504(mysql)
    #   mysql    ,      ,    
    [root@web01 tools]# tar -xf mysql-5.5.54-linux2.6-x86_64.tar.gz
    [root@web01 tools]# mv mysql-5.5.54-linux2.6-x86_64 /application/mysql-5.5.54
    [root@web01 tools]# ln -s /application/mysql-5.5.54/ /application/mysql
    [root@web01 tools]# ls /application/mysql
    COPYING         README  data  include  man         scripts  sql-bench
    INSTALL-BINARY  bin     docs  lib      mysql-test  share    support-files
    #       
    [root@web01 tools]# cd /application/mysql/
    [root@web01 mysql]# chown -R mysql.mysql /application/mysql/
    [root@web01 mysql]# ./scripts/mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/data/ --user=mysql
    ......
    OK
    Filling help tables...
    180321 10:34:46 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap.
    180321 10:34:46 [Note] /application/mysql/bin/mysqld (mysqld 5.5.54) starting as process 2832 ...
    OK
    ......
    #        ok         
    #   /tmp       1777,hosts       ,              
    [root@web01 mysql]# ll -d /tmp/
    drwxrwxrwt. 3 root root 4096 Mar 21 10:34 /tmp/
    [root@web01 mysql]# cat /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    172.16.1.5      lb01
    172.16.1.6      lb02
    172.16.1.7      web02
    172.16.1.8      web01
    172.16.1.51     db01 db01.etiantian.org
    172.16.1.31     nfs01
    172.16.1.41     backup
    172.16.1.61     m01
    #           /application/,           /usr/bin/,            
    [root@web01 mysql]# cd bin/
    [root@web01 bin]# sed 's#/usr/local/#/application/#g' mysqld_safe |grep application  #   
    [root@web01 bin]# sed -i 's#/usr/local/#/application/#g' mysqld_safe    #   
    #   mysql    
    [root@web01 bin]# cd ..
    [root@web01 mysql]# cp support-files/my-small.cnf /etc/my.cnf 
    cp: overwrite `/etc/my.cnf'? y
    #   
    [root@web01 mysql]# /application/mysql/bin/mysqld_safe --user=mysql &
    #         ,    /var/lib/mysql    
    mysqld_safe Directory '/var/lib/mysql' for UNIX socket file don't exists
    [root@web01 mysql]# mkdir /var/lib/mysql
    [root@web01 mysql]# /application/mysql/bin/mysqld_safe --user=mysql &
    [1] 3179
    [root@web01 mysql]# Logging to '/application/mysql/data/web01.err'.
    180321 10:59:57 mysqld_safe Starting mysqld daemon with databases from /application/mysql/data
    
    [root@web01 mysql]# lsof -i :3306       #   3306       ,     
    COMMAND  PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    mysqld  3402 mysql   10u  IPv4  26971      0t0  TCP *:mysql (LISTEN)
    #   mysql  
    [root@web01 mysql]# /application/mysql/bin/mysql
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 1
    Server version: 5.5.54 MySQL Community Server (GPL)
    
    Copyright (c) 2000, 2016, 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>      #         
    
    #   /application/mysql/bin:      ,     
    [root@web01 mysql]# PATH="/application/mysql/bin:$PATH"
    [root@web01 mysql]# which mysql
    /application/mysql/bin/mysql
    [root@web01 mysql]# tail -1 /etc/profile
    PATH="/application/mysql/bin:$PATH"
    [root@web01 mysql]# . /etc/profile
    [root@web01 mysql]# echo $PATH
    /application/mysql/bin:/application/mysql/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
    #       ,             ,       。
    #                  http://blog.51cto.com/oldboy/1122867
    
    #      /application/mysql/bin/      /usr/local/sbin/   
    cp -a /application/mysql/bin/* /usr/local/sbin/
    
    #   mysql     /application/mysql/bin/mysqld_safe,        ,  /etc/init.d/mysqld start   
    [root@web01 mysql]# sed 's#/usr/local/#/application/#g' support-files/mysql.server |grep application
    # If you install MySQL on some other places than /application/mysql, then you
      basedir=/application/mysql
      bindir=/application/mysql/bin
        datadir=/application/mysql/data
      sbindir=/application/mysql/bin
      libexecdir=/application/mysql/bin
    [root@web01 mysql]# sed -i 's#/usr/local/#/application/#g' support-files/mysql.server
    [root@web01 mysql]# cp support-files/mysql.server /etc/init.d/mysqld
    [root@web01 mysql]# chmod +x /etc/init.d/mysqld
    [root@web01 mysql]# /etc/init.d/mysqld stop
    Shutting down MySQL.180321 11:09:34 mysqld_safe mysqld from pid file /application/mysql/data/web01.pid ended
     SUCCESS! 
    [1]+  Done                    /application/mysql/bin/mysqld_safe --user=mysql
    #   3306        
    [root@web01 mysql]# lsof -i :3306
    [root@web01 mysql]# /etc/init.d/mysqld start
    Starting MySQL.. SUCCESS! 
    [root@web01 mysql]# lsof -i :3306
    COMMAND  PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    mysqld  4016 mysql   10u  IPv4  27874      0t0  TCP *:mysql (LISTEN)
    #         
    [root@web01 mysql]# chkconfig --add mysqld
    [root@web01 mysql]# chkconfig mysqld on
    [root@web01 mysql]# chkconfig --list mysqld
    mysqld          0:off   1:off   2:on    3:on    4:on    5:on    6:off
    #   MySQL         
    [root@web01 mysql]# tail -10 /application/mysql/data/web01.err
    #  root       
    [root@web01 mysql]# mysqladmin -u root password 'oldboy123'     # root       
    [root@web01 mysql]# mysqladmin -u root -h web01 password 'oldboy123' # root        root     -h        。
    [root@web01 mysql]# mysqladmin -u root -p oldboy123 password '123456' #     root       root  
    

    5トラブルシューティング
    #              ,           ,                 。
    [root@web01 ~]# mysql
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    

    上記の問題の可能性のある3つの原因と解決方法:
    1、データベースを削除して再初期化する.この問題は一般的にデータベースの初期化に問題があるからである.
    2、またはmysqlデータベースファイルが破損しているか、mysqlデータディレクトリ権限に問題がある可能性があります
    3、ホスト名対応ホストIP解析が正しいかどうかを確認する