MySQL 5.7.18 バージョンのインストール パスのカスタマイズに関する詳細なチュートリアル (バイナリ パッケージのインストール)

MySQL 5.7.18 バージョンのインストール パスのカスタマイズに関する詳細なチュートリアル (バイナリ パッケージのインストール)

インストールパス: /application/mysql-5.7.18

1. 事前準備

MySQL 依存関係

リバイオ
yum インストール -y libaio

mysqlユーザーを作成し、このユーザーとしてmysqlを実行します。

ユーザー追加 -s /bin/false -M mysql

mysqlバイナリパッケージをダウンロードして解凍します

cd /ツール
https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz をダウンロードします。
tar -zxf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz -C /アプリケーション/

/applicationディレクトリに切り替え、mysqlフォルダ名を短くし、mysqlディレクトリへのソフトリンクを作成します。

cd /アプリケーション/
mysql-5.7.18-linux-glibc2.5-x86_64/mysql-5.7.18 をアップグレードしてください。
mysql-5.7.18 を再起動する

mysql ディレクトリに mysql-files を作成します。フォルダの権限は 750 です。mysql ディレクトリのグループとユーザーを再帰的に設定します。

mkdir mysql/mysql-files
chmod 750 mysql/mysql-files
chown -R mysql:mysql mysql-5.7.18/

2. mysqlディレクトリでの操作

cd mysql

データベースを初期化する

データベースディレクトリを保存するために、mysqlディレクトリにデータディレクトリが生成されます。

bin/mysqld --initialize --user=mysql --basedir=/application/mysql --datadir=/application/mysql/data

返された結果の最後の行の最後にランダムなパスワードがあります。私はそれを書き留めました:wa0I:1w?V--a

2017-04-28T02:49:00.853710Z 1 [注記] root@localhost の一時パスワードが生成されます: wa0I:1w?V--a

デフォルトのパスワードを空に設定する場合は、--initialize オプションを --initialize-insecure オプションに置き換えます。

bin/mysqld --initialize-insecure --user=mysql --basedir=/application/mysql --datadir=/application/mysql/data

SSLをインストールする

bin/mysql_ssl_rsa_setup --datadir /application/mysql/data/

データディレクトリへのパスを指定します

ユーザーとグループを変更する

chown -R ルート 。
chown -R mysqlデータmysqlファイル

mysql ディレクトリの下のデータ ディレクトリと mysql-files ディレクトリを除き、他のすべてのファイルの所有者は root に変更されます。

設定ファイルを変更する

sed -i 's/^datadir=\/var\/lib\/mysql/datadir=\/application\/mysql\/data/g' /etc/my.cnf
sed -i 's/^socket=\/var\/lib\/mysql\/mysql.sock/socket=\/tmp\/mysql.sock/g' /etc/my.cnf
sed -i 's/^log-error=\/var\/log\/mariadb\/mariadb.log/log-error=\/application\/mysql\/data\/err.log/g' /etc/my.cnf
sed -i 's/^pid-file=\/var\/run\/mariadb\/mariadb.pid/pid-file=\/application\/mysql\/data\/mysql.pid/g' /etc/my.cnf

は以下と同等です:

vi /etc/my.cnf
データディレクトリ=/application/mysql/data
ソケット=/tmp/mysql.sock
ログエラー=/application/mysql/data/err.log
pid ファイル = /application/mysql/data/mysql.pid
/etc/my.cnf の内容:
[mysqld]
データディレクトリ=/application/mysql/data
ソケット=/tmp/mysql.sock
# さまざまなセキュリティリスクを防ぐために、シンボリックリンクを無効にすることをお勧めします
シンボリックリンク=0
# systemd を使用する場合、ユーザーとグループの設定は無視されます。
# 別のユーザーまたはグループでmysqldを実行する必要がある場合は、
# mariadbのsystemdユニットファイルを以下のとおりカスタマイズします。
# http://fedoraproject.org/wiki/Systemd の手順
[mysqld_safe]
ログエラー=/application/mysql/data/err.log
pid ファイル = /application/mysql/data/mysql.pid
#
# configディレクトリからすべてのファイルをインクルードする
#
!includedir /etc/my.cnf.d

スタートアッププログラムをコピー

cp サポートファイル/mysql.server /etc/init.d/mysql

プログラムを起動するには、mysqlスタートアッププログラムを/etc/init.d/ディレクトリにコピーします。

スタートアップファイルを編集し、スタートアップディレクトリを構成する

方法1:

アイデアは、構成ファイルによって提供される変数に値を割り当てることです。さらに面倒。

sed -i 's/^basedir=/basedir=\/application\/mysql/g' /etc/init.d/mysql
sed -i 's/^datadir=/datadir=\/application\/mysql\/data/g' /etc/init.d/mysql
sed -i 's/^mysqld_pid_file_path=/mysqld_pid_file_path=\/application\/mysql\/data\/mysql.pid/g' /etc/init.d/mysql

これは、行 45 と 46 を置き換えることと同じです。

ベースディレクトリ=
データディレクトリ=
mysqld_pid_file_path=

置き換える

ベースディレクトリ=/application/mysql
データディレクトリ=/application/mysql/data
mysqld_pid_file_path=/application/mysql/data/mysql.pid

方法2(推奨):

アイデアとしては、スクリプトのデフォルト アドレス (/usr/local/mysql) をカスタム パス (/application/mysql) に直接置き換えて、変数に値を割り当てる必要がないようにすることです。

sed -i 's#/usr/local/mysql#/application/mysql#g' /etc/init.d/mysql

この時点で、mysqlのインストールは完了し、通常どおり起動できます。

3. 遅い終了

ソフトリンクを作成するコマンド

mysqlコマンドから環境変数のディレクトリへのソフトリンクを作成し、ユーザーが変数内の対応するコマンドを見つけられるようにします。

ln -s /application/mysql/bin/* /usr/local/sbin

mysqlにログイン

[root@www mysql]# mysql -u root -p

パスワードを入力してください: #drRR0が以前に保存したランダムパスワードを入力してください

...

mysql> #mysqlコンソールに正常にログインしました

パスワード変更SQL文

mysql> 'NewPassWord' で識別されるユーザー 'root'@'localhost' を変更します。

#パスワードをNewPassWordに変更する

クエリは正常、影響を受けた行は 0 行 (0.01 秒) #変更は成功しました

終了するには、quit または Ctrl+d と入力します。

mysql>終了
さよなら
[root@www mysql]#
または
mysql> ^DBye
[root@www mysql]#

4. 共通コマンド

mysqlを入力する

mysql -u ルート -p

MySQLを起動する

サービスmysql開始

MySQLを停止する

サービスmysql停止

MySQLを再起動する

サービスmysqlの再起動

上記は、編集者が紹介した MySQL 5.7.18 バージョンのカスタム インストール パス (バイナリ パッケージ インストール) に関する詳細なチュートリアルです。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。編集者がすぐに返信します。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

以下もご興味があるかもしれません:
  • Linux での MySQL 5.7.18 バイナリ パッケージのインストール チュートリアル (デフォルトの構成ファイル my_default.cnf なし)
  • CentOS 6.5 に MySQL 5.7.17 バイナリ インストールとマルチインスタンス構成を展開する
  • Centos 7にmysql5.7.24バイナリバージョンをインストールする方法と解決方法
  • Centos7.5 は mysql5.7.24 バイナリ パッケージの展開をインストールします
  • CentOS 7 にコマンドライン経由で Linux 汎用バイナリ版の MySQL 5.7.11 をインストールする詳細なチュートリアル
  • Linux バイナリ ユニバーサル パッケージを使用して MySQL 5.6.20 をインストールするチュートリアル
  • Ubuntu システムに mysql5.6 をインストールする (バイナリ経由)
  • mysql 5.7.19 最新バイナリインストール
  • Linux での MySQL 5.6.24 (バ​​イナリ) 自動インストール スクリプト
  • MySQLバイナリのインストールとバックアップの全プロセス記録

<<:  React Hooksの使用例

>>:  vsftpd ユーザーが ssh 経由でログインすることを禁止する方法

推薦する

MYSQLストアドプロシージャコメントの詳細な説明

目次1. 使用方法2. 準備3. 文法3.1 変数と代入3.2 入力および出力パラメータ3.3 プロ...

MySQL の instr を使用したファジー クエリ メソッドの紹介

MySQL の内部関数instrを使用すると、従来の like クエリ メソッドを置き換えることがで...

CocosCreator 学習モジュールスクリプト

Cocos Creator モジュラースクリプトCocos Creator を使用すると、コードを複...

DockerでVueプロジェクトをデプロイする方法を教えます

1.前面に書きます:軽量仮想化テクノロジーとして、Docker には継続的インテグレーション、バージ...

JS+Canvas でダイナミックな時計効果を実現

参考までに、Canvas をベースにしたダイナミッククロックのデモを用意しました。具体的な内容は次の...

MySql マスタースレーブレプリケーションの実装原理と構成

データベースの読み取りと書き込みの分離は、トラフィック量の多い大規模システムやインターネット アプリ...

CentOS7 インストール GUI インターフェースとリモート接続の実装

ブラウザ (Web ドライバー) ベースの Selenium テクノロジを使用してデータをクロールす...

H5レイアウト実装手順における天井と底部の吸引を解決するための純粋なCSS

どのような製品について言及したいですか?最近、ユーザーがマーケティングの変化をよりよく観察できるよう...

MySQL UPDATE ステートメントの「典型的な」落とし穴

目次1. 問題のあるSQL文たとえば、次の図のような質問をした人がいました。 問題は次のように要約で...

ES6 の Set および WeakSet コレクションの詳細な説明

目次セットは値が重複しない特別なコレクションです。セットコレクション基本API独自の価値判断セットを...

JavaScript 操作要素の例

操作要素の詳細については、前回の記事を参照してください。JavaScript WebAPI、DOM、...

dockerがredisを再起動するとmysqlデータが失われる問題を解決する

公式ドキュメント:したがって、mysql は次のように起動する必要があります。 docker run...

H5ゲームをnginxサーバーにデプロイする方法の詳細な説明

自己学習型ゲーム開発の道において、最も充実した瞬間は、自分でミニゲームを作り、友達と共有して試しにプ...

CSS を使用して ul と li の水平配置を実現する 2 つの方法

li はブロックレベル要素であり、デフォルトで 1 行を占めるため、水平方向の配置を実現する場合は、...

Docker データ ストレージ ボリュームの詳細な説明

デフォルトでは、コンテナ データの読み取りと書き込みはコンテナのストレージ レイヤーで行われます。コ...