MySQLバイナリのインストール

17049 ワード

MySQLバイナリのインストール
一、状況説明
  • インストールバージョン:MySQL 5.7.26
  • オペレーティングシステム:CentOS 7.6
  • 二、mysqlの配置
    01.ソフトウェアのダウンロードとアップロード
    [root@mysql ~]# mkdir -p /server/scripts
    [root@mysql ~]# cd /server/scripts/
    [root@mysql /server/scripts]# tar xf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
    

    02.解凍
    [root@mysql /server/scripts]# mkdir /application
    [root@mysql /server/scripts]# mv mysql-5.7.26-linux-glibc2.12-x86_64 /application/mysql
    

    03.元の環境の処理
    [root@mysql /server/scripts]# rpm -qa |grep mariadb	
    mariadb-libs-5.5.60-1.el7_5.x86_64
    [root@mysql /server/scripts]# yum remove mariadb-libs.x86_64 -y	
    ##         /etc/my.cnf 	     
    

    04.ユーザーの作成
    [root@mysql ~]# useradd -s /sbin/nologin mysql
    [root@mysql ~]# id mysql
    uid=1001(mysql) gid=1001(mysql) groups=1001(mysql)
    

    05.環境変数の設定(末尾に追加)
    [root@mysql ~]# vim /etc/profile		
    export PATH=/application/mysql/bin:$PATH
    [root@mysql ~]# source /etc/profile
    [root@mysql ~]# mysql -V	==>       
    mysql  Ver 14.14 Distrib 5.7.26, for linux-glibc2.12 (x86_64) using  EditLine wrapper
    

    06.新しいディスクを追加し、生産環境のデータディスクをシミュレートする
    07.ディスクのフォーマットとマウント
    [root@mysql ~]# mkfs.xfs /dev/sdb
    [root@mysql ~]# mkdir /data			##         
    [root@mysql ~]# blkid				##     UUID
    [root@mysql ~]# vim /etc/fstab 		##       
    UUID=aa617745-ecac-4a77-a679-919a52851af0 /data             xfs     defaults        0 0
    [root@mysql ~]# mount -a			##  
    [root@mysql ~]# df -h				##        
    

    08.授権
    [root@mysql ~]# mkdir /data/mysql/data -p
    [root@mysql ~]# chown -R mysql:mysql /data/
    [root@mysql ~]# chown -R mysql.mysql /application/*
    

    09.イニシャルデータ(システムデータ作成)
    [root@mysql ~]# mkdir /data/mysql/data -p
    [root@mysql ~]# chown -R mysql:mysql /data/
    [root@mysql ~]# yum install -y libaio-devel
    [root@mysql ~]# mysqld --initialize-insecure --user=mysql --basedir=/application/mysql --datadir=/data/mysql/data
    

    10.プロファイルの作成
    [root@mysql ~]# cat /etc/my.cnf <
    [mysqld]
    user=mysql
    basedir=/application/mysql
    datadir=/data/mysql/data
    socket-/tmp/mysql.sock
    server_id=6
    port=3306
    [mysql]
    socket=/tmp/mysql.sock
    EOF
    

    11.システム管理の構成
    [root@mysql ~]# cat /etc/systemd/system/mysqld.service
    [Unit]
    Description=MySQL Server
    Documentation=man:mysqld(8)
    Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
    After=network.target
    After=syslog.target
    [Install]
    WantedBy=multi-user.target
    [Service]
    User=mysql
    Group=mysql
    ExecStart=/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf
    LimitNOFILE = 5000
    

    12.データベースの起動
    [root@mysql ~]# systemctl start mysqld
    [root@mysql ~]# netstat -lntup |grep 3306	#        
    

    13.管理者パスワードの設定(root@localhost)
    [root@db01 ~]# mysqladmin -uroot -p password oldboy123
    Enter password: 	#==>    ,    
    

    三、MySQLインストールエラー
    エラー1:
    mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
    
        :  libao-devel 
        :yum install -y libaio-devel
    

    エラー2:
    [root@mysql /data/mysql/data]# mysqld --initialize --user=mysql --basedir=/application/mysql --datadir=/data/mysql/data
    2019-07-25T13:17:21.338642Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
    2019-07-25T13:17:21.341533Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
    2019-07-25T13:17:21.341574Z 0 [ERROR] Aborting
    
        :/data/mysql/data       (mysql     )
        :  /data/mysql/data !!!

    エラー3:
    [root@mysql /application/mysql/support-files]# ./mysql.server start
    Starting MySQL.sed: -e expression #1, char 19: unknown option to `s'
    Logging to '/data/mysql/data/mysql.err'.
    .... ERROR! The server quit without updating PID file (/data/mysql/data/mysql.pid).
    
        :      /data/mysql/data/mysql.err
    /etc/my.cnf        (     )
    

    MySQLデータベースの分析処理が開始できません
    without updating PID類似エラー
    ログの表示:data/mysql/data/ホスト名.Errは[ERROR]の中の括弧を探してERRORのです
    可能な理由:
  • /etc/my.cnfパス非ピア
  • /tmp/mysql.sockファイルは
  • を変更または削除した
  • データディレクトリ権限mysql
  • ではありません
  • パラメータが
  • に変更されました.
    四、MySQL補充
    mysqlが起動しているかどうかを確認する方法
    [root@mysql ~]# netstat -lntup |grep 3306
    [root@mysql ~]# ps -ef|grep mysqld
    [root@mysql ~]# systemctl status mysqld
    [root@mysql ~]# lsof -i :3306	#    lsof 
    [root@mysql ~]# mysql #    
    

    初期化データ(バージョン5.6)
    #MySQL     
    [root@mysql ~]#  /application/mysql/scripts/mysql_install_db
    

    初期化データ(バージョン5.7)
    #      (           )
    [root@mysql ~]# mysqld --initialize --user=mysql --basedir=/application/mysql --datadir=/data/mysql/data	
    
    --initialize
    1.           :12 ,4 
    2.      :180
    3. root@localhost        
    
    #      (   )
    [root@mysql ~]# mysqld --initialize-insecure --user=mysql --basedir=/application/mysql --datadir=/data/mysql/data
    

    新しいディスクを追加して、再起動しないで発見できる方法
    [root@mysql ~]# cd  /sys/class/scsi_host/
    [root@mysql /sys/class/scsi_host]# echo "- - -" > host0/scan 	##        
    [root@mysql /sys/class/scsi_host]# fdisk -l	##      
    

    MySQLパスワードの忘れ方
    01、  mysql
    [root@db01 ~]# systemctl stop mysqld.service 
    
    02、          
    [root@db01 ~]# mysqld_safe --skip-grant-tables --skip-networking &
    
    03、       
    [root@db01 ~]# mysql
    mysql> flush privilegers;
    mysql> alter user root@'localhost' identified by '123';
    
    04、     ,      
    [root@db01 ~]# pkill mysqld 
    [root@db01 ~]# systemctl start mysqld.service 
    [root@db01 ~]# mysql -uroot -p123 #    
    

    データベースの起動方法
    1.sys-v (CentOS 6 7)
    [root@mysql ~]# cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld
    [root@mysql ~]# service mysqld status
    
    2.systemd  (CentOS 7)
    [root@mysql ~]# cat /etc/systemd/system/mysqld.service
    [Unit]
    Description=MySQL Server
    Documentation=man:mysqld(8)
    Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
    After=network.target
    After=syslog.target
    [Install]
    WantedBy=multi-user.target
    [Service]
    User=mysql
    Group=mysql
    ExecStart=/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf
    LimitNOFILE = 5000