RedhatでのMySQLのコンパイルインストール

5183 ワード

0、rootユーザーでシステムにログインし、以下の操作を行う
インストールが完了した後、パスワードを設定できず、mysqlライブラリが見えないなどのトラブルを避けることができます.
1、汎用バイナリ圧縮パッケージを/usr/local公式の要求に解凍し、ディレクトリ名はmysqlでなければならない
  • 圧縮パッケージディレクトリに入り、tar xf mysql****を解凍するコマンドを実行する.tar.gz -C/usr/local
  • リンクcd/usr/local ln-sv mysql*****mysql
  • を作成
    2、mysqlユーザーmysqlグループを作成する(500を超えるのはシステムユーザーではなく、システムユーザーにはホームディレクトリがない)
    groupadd -r -g 306 mysql useradd -r -g 306 -u 306 mysql
    mysqlディレクトリに入ると、INSTALL-Binaryのファイルがあり、具体的なインストール説明があります.
    3、mysqlディレクトリの下のすべてのファイルの属主属グループを修正する
    chown -R mysql.mysql/usr/local/mysql/*
    4、データストアディレクトリの設定
  • データディレクトリの作成:(必要に応じて指定)
  • データディレクトリ権限の変更:chown-R mysql.mysqlデータディレクトリ(データディレクトリがmysqlユーザーmysqlグループに属することを指定)chmod o-rxデータディレクトリ(他のユーザーには権限がない)データディレクトリの所有者グループがmysqlであることを保証し、他のユーザーには
  • の権限がありません.
    5、mysqlディレクトリに入り、手動でデータベース初期化スクリプトを実行する
    scripts/mysql_install_db--user=mysql--datadir=データディレクトリ
    6、スクリプトの実行が終わったら、mysqlディレクトリの所有者をrootに変更する
    chown -R root/usr/local/mysql/*
    7、mysql/support-filesディレクトリの下にmysqlがある.server(mysql起動スクリプト)
  • スクリプトcp support-files/mysqlをコピーして名前を変更します.server/etc/init.d/mysqld
  • mysqldに実行権限があるかどうかを確認し、ない場合は実行権限
  • を与える.
  • mysqldをサービスリストchkconfig--add mysqld
  • に追加
  • chkconfig--list mysqld(2 3 4 5はon)
  • を自動的に起動するかどうかを確認します.
    8、この時点でmysqldはまだ起動できないので、プロファイルを修正する必要がある
  • デフォルト位置:/etc/my.cnf
  • mysqlプロファイルを読み込む方法が非常にユニークなmysqlプロファイルは、クリップ式で集中的(複数のサービス構成可能)
  • です.
    [mysql]——     
    [mysqld]——     
    [client]——            
    
  • mysqlプロファイルの読み込み順序:/etc/my.cnf -->/etc/mysql/my.cnf --> $BASEDIR/my.cnf(通常はインストールディレクトリ)-->~/.my.cnf(ユーザーホームディレクトリの下のプロファイル、mysqlユーザーがホームディレクトリを持っていなくても探します)
  • 見つかったコンフィギュレーション・ファイルが競合している場合は、最後のコンフィギュレーション・ファイルに準拠します(前のコンフィギュレーション・ファイルがなくてもmysqlは実行できます.support-filesディレクトリの下にデフォルトのコンフィギュレーション・ファイルが山積みされています.
  • プロファイルを/etc/myにコピーする.cnf cp support-files/my-large.cnf/etc/my.cnf
  • 編集変更プロファイルvi/etc/my.cnf
  • [mysqld]フラグメントにデータディレクトリ構成情報を追加するには、重要なdatadir=/データディレクトリ
  • 9、mysqldサービスを起動する
    サービスmysqld start起動状態netstat-tnlpを表示
    10、mysqlデータベースに入る
    mysqlを実行してコマンドが見つからないことを発見ls/usr/local/mysql/bin/、mysqlコマンドがあることを発見してmysqlコマンドをシステムディレクトリ作成スクリプトファイルに追加する必要があることを発見します:vi/etc/profile.d/mysql.sh export PATH=$PATH:/usr/local/mysql/bin保存を追加して再ログインを終了し、mysqlを再実行するとmysqlデータベースにアクセスできます
    11、mysqlサーバーは二種類の変数を維持した
  • サーバ変数:MySQLサーバ実行フィーチャー表示コマンドの定義:show global variables[like'data%'](チューニング時に使用)
  • ステータス変数:MySQLサーバの実行時の統計表示コマンドを保存:show global status[like'datadir'](リアルタイムモニタ使用)
  • 12、パスワードの設定
    [方法1]mysqlプロンプトの下でmysql>set password for'username'@'host'=password('password')を実行する.ユーザー情報を変更した後、ライセンステーブルmysql>flush privilegesを再読み込みします.
    [方法2]Linuxコマンドプロンプトの下で#mysqladmin-uUsername-hHost-p password'password'(パスワードがない場合は-pを省略)を実行する
    [方法3]mysqlライブラリのuserテーブルupdate user set Password=password("password")where user="user"and host="***を変更する
    mysqlを作成するrootユーザーはリモートアクセス(すべてのライブラリ.すべてのテーブル)mysql>grant all privileges on.to 'root'@'192.16.%.%' identified by "password";
    ライセンステーブルmysql>flush privilegesを再読み込みします.
    [方法4]インストール後に提示されるパスワードの変更方法:./bin/mysqladmin -u root password 'new-password' ./bin/mysqladmin -u root -h localhost.localdomain password 'new-password'
    13、mysqlヘルプドキュメントをヘルプコマンドに追加する
    vi/etc/man.config MANPATH/usr/local/mysql/man保存終了行を追加
    14.データベースを作成し、文字セットを指定する
    CREATE DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
    

    15、SqlYogログイン用ユーザーの作成
    #             ,       
    mysql> CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass';
    mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'
        ->     WITH GRANT OPTION;
    
    #           ,       
    mysql> CREATE USER 'monty'@'%' IDENTIFIED BY 'some_pass';
    mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'
        ->     WITH GRANT OPTION;
    
    #           
    mysql> flush privileges;
    

    原文:Host'xxx.xx.xxx.xxx' is not allowed to connect to this MySQL server
    16、データバックアップとリカバリ
    (一)データバックアップ
    #  1、       (        ,         ,     -h   )
    $ mysqldump -h host -u username -p database_name > back_name.sql
    
    # 2、   test       emp  (        )
     $ mysqldump -u username -p test emp > emp.sql
    
    # 3、   test       emp     dept  (        )
     $ mysqldump -u username -p test emp dept > emp_dept.sql
    
    # 4、       
    $ mysqldump -hhostname -uusername -ppassword  databasename1  databasename2> multibackupfile.sql
    
    # 5、        
    $ mysqldump –all-databases > allbackupfile.sql
    
    # 6、        
    $ mysqldump  –no-data  –databases databasename1 databasename2 databasename3 > structurebackupfile.sql
    
    

    (二)データ回復
    # 1、     (        ,         ,     -h   )
    $ mysql -hhostname -uusername -ppassword databasename < backupfile.sql
    
    # 2、    (   source  ,       ,         )
    mysql> source d:\test.sql
    
    # 3、           
    $ mysqldump -uusername -ppassword databasename | mysql –host=*.*.*.* -C databasename