Linux に MySQL 8.0.19 をインストールするための詳細な手順と問題解決方法

Linux に MySQL 8.0.19 をインストールするための詳細な手順と問題解決方法

最近Tencent Cloudサーバーを購入し、環境を構築しました。

このメモは、これまで MySQL がインストールされたことのないクリーンなシステムに初めて MySQL をインストールするために使用されます。インストールディレクトリとデータファイルディレクトリを自分で指定します。

Linux システムバージョン: CentOS 7.3 64 ビット

インストール ソース ファイルのバージョン: mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz

mysql のインストール場所: /software/mysql

データベースファイルのデータの場所: /data/mysql

注: 混乱を避けるために、ここではコマンドの実行に絶対パスが使用されます。

ファイル内容の#を除いて、ここでの#はすべてLinuxコマンドです

>mysqlはmysqlコマンドです

ステップ:

1. ルートディレクトリにソフトウェアフォルダとデータベースデータファイル /data/mysql を作成します。

#mkdir /ソフトウェア/
#mkdir /data/mysql

2. mysql-8.0.19-linux-glibc2.12-x86_64.tar.xzファイルを/softwareにアップロードします。

--------------------

ここでは、ルーターとテストを含む mysql-8.0.19-linux-glibc2.12-x86_64.tar ファイルをダウンロードしたので、解凍する必要があります。

--------------------
#cd /ソフトウェア/
#xz -d mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz
#tar -xvf mysql-8.0.19-linux-glibc2.12-x86_64.tar

3. 解凍したフォルダの名前を変更する

#mv /software/mysql-8.0.19-linux-glibc2.12-x86_64/ /software/mysql

4. mysqlユーザーグループとmysqlユーザーを作成する

#グループ追加mysql

#useradd -r -g mysql mysql

5. myqlユーザーをmysqlユーザーグループに関連付ける

#chown -R mysql:mysql /software/mysql/
#chown -R mysql:mysql /data/mysql/
#chown -R mysql /software/mysql/
#chown -R mysql /data/mysql

6. mysqlインストールフォルダmysql/の権限を変更する

#chmod -R 755 /software/mysql/

7. libaio依存パッケージをインストールします。システムにはこの依存パッケージが付属しているのでインストールする必要はありませんが、組み込みの依存パッケージはエラーを報告します。

libaio 依存パッケージが密かに転送されていないか確認する

#yum search libaio

インストールされていない場合は、次のコマンドでインストールできます。

#yum install libaio

8. mysqlコマンドの初期化

#cd /software/mysql/bin
#./mysqld --user=mysql --basedir=/software/mysql --datadir=/data/mysql --initialize

上記のコマンドを実行する際は、1行に特に注意してください。

[注意] root@localhost の一時パスワードが生成されます: o*s#gqh)F4Ck

root@localhost: の後に、MySQL データベースにログインするための一時パスワードを入力します。インストールごとに生成される一時パスワードは異なります。

初期化エラーが次の場合:

共有ライブラリのロード中にエラーが発生しました: libnuma.so.1: 共有オブジェクトを開けません

libnumaは32ビットでインストールされているため、ここでは64ビットが必要であり、次のステートメントを実行することで解決できます。

#yum install numactl.x86_64

実行後にmysqlコマンドを再初期化する

9. MySQLサービスを開始する

# sh /software/mysql/support-files/mysql.server start

MySQL サービスを開始する上記のコマンドは、MySQL 構成ファイルが変更されていないため、エラーを報告します。エラーの内容は次のとおりです。

./support-files/mysql.server: 行 239: my_print_defaults: コマンドが見つかりません

./support-files/mysql.server: 行 259: cd: /usr/local/mysql: そのようなファイルまたはディレクトリはありません

MySQL の起動エラー! MySQL サーバーが見つかりませんでした (/usr/local/mysql/bin/mysqld_safe)

10.Mysql設定ファイルを変更する

#vim /software/mysql/support-files/mysql.server

修正前

if test -z "$basedir"
それから
ベースディレクトリ=/usr/local/mysql
バインドディレクトリ=/usr/local/mysql/bin
テスト -z "$datadir"
それから
データディレクトリ=/usr/local/mysql/data
フィ
sbindir=/usr/local/mysql/bin
libexecdir=/usr/local/mysql/bin
それ以外
bindir="$basedir/bin"
テスト -z "$datadir"
それから
datadir="$basedir/data"
フィ
sbindir="$basedir/sbin"
libexecdir="$basedir/libexec"
フィ

if test -z "$basedir"
それから
ベースディレクトリ=/software/mysql
バインドディレクトリ=/software/mysql/bin
テスト -z "$datadir"
それから
データディレクトリ=/data/mysql
フィ
sbindir=/software/mysql/bin
libexecdir=/software/mysql/bin
それ以外
bindir="$basedir/bin"
テスト -z "$datadir"
それから
datadir="$basedir/data"
フィ
sbindir="$basedir/sbin"
libexecdir="$basedir/libexec"
フィ

保存して終了

#cp /software/mysql/support-files/mysql.server /etc/init.d/mysqld

# chmod 755 /etc/init.d/mysqld

11. my.cnfファイルを変更する

#vi /etc/my.cnf

次の内容をコピーして現在のmy.cnfファイルを置き換えます。

[クライアント]
ビープ音なし
ソケット =/software/mysql/mysql.sock
#パイプ
# ソケット=0.0
ポート=3306
[mysql]
#元の utf8 は UTF8MB3 を指しています。後続のバージョンは UTF8MB4 に変更する必要があります。これを 1 つの手順で実行してみましょう。default-character-set=UTF8MB4
[mysqld]
ベースディレクトリ=/software/mysql
データディレクトリ=/data/mysql
ポート=3306
pid ファイル = /software/mysql/mysqld.pid
#許可テーブルをスキップする
名前解決をスキップ
ソケット = /software/mysql/mysql.sock
文字セットサーバー=utf8
デフォルトのストレージエンジン=INNODB
明示的なタイムスタンプのデフォルト = true
# サーバー ID。
サーバーID=1
最大接続数=2000
#query_cache_size はバージョン 8.0 で削除されたため、コメント #query_cache_size=0 としてください。
テーブルオープンキャッシュ=2000
tmp_table_size=246M
スレッドキャッシュサイズ=300
#各データベース スレッドで使用されるスタック サイズを制限します。デフォルト設定はほとんどのアプリケーションで十分です。thread_stack = 192k
キーバッファサイズ=512M
読み取りバッファサイズ=4M
読み取りバッファサイズ=32M
innodb_data_home_dir = /data/mysql
innodb_flush_log_at_trx_commit=0
innodb_log_buffer_size=16M
innodb_buffer_pool_size=256M
innodb_log_file_size=128M
innodb_thread_concurrency=128
innodb_autoextend_increment=1000
innodb_buffer_pool_instances=8
innodb_concurrency_tickets=5000
innodb_old_blocks_time=1000
innodb_open_files=300
innodb_stats_on_metadata=0
innodb_file_per_table=1
innodb_checksum_algorithm=0
バックログ=80
フラッシュ時間=0
結合バッファサイズ=128M
最大許容パケット=1024M
最大接続エラー数=2000
オープンファイル制限=4161
#query_cache_type はバージョン 8.0 で削除されたため、コメント #query_cache_type=0 としてください。
ソートバッファサイズ=32M
テーブル定義キャッシュ=1400
binlog_row_event_max_size=8K
同期マスター情報=10000
同期リレーログ=10000
同期リレーログ情報=10000
#バッチ挿入データキャッシュサイズは挿入効率を効果的に向上させます。デフォルトは8Mです。
バルク挿入バッファサイズ = 64M
インタラクティブタイムアウト = 120
待機タイムアウト = 120
ログ ビン信頼関数作成者 = 1
sql_mode=NO_ENGINE_SUBSTITUTION、STRICT_TRANS_TABLES
#
# configディレクトリからすべてのファイルをインクルードする
#
!includedir /etc/my.cnf.d

保存して終了

12. MySQLを起動する

#/etc/init.d/mysqld start

新しいバージョンのインストール パッケージではエラーが報告されます。エラーの内容は次のとおりです。

MySQL を起動しています。'/data/mysql/SZY.err' にログを記録しています。
2018-07-02T10:09:03.779928Z mysqld_safe ファイル /usr/local/mysql/bin/mysqld
存在しないか実行できません。mysql インストールに cd してください。
ディレクトリに移動し、次のようにしてそこからこのスクリプトを再起動します。
./bin/mysqld_safe&
詳細については、http://dev.mysql.com/doc/mysql/en/mysqld-safe.html を参照してください。
エラー! サーバーは PID ファイル (/software/mysql/mysqld.pid) を更新せずに終了しました。

新しいバージョンの MySQL セキュア ブート インストール パッケージは、パス /usr/local/mysql のみを認識するためです。

解決:

方法1: ソフトリンクを作成する

#cd /usr/local/mysql
#ln -s /sofware/mysql/bin/myslqd mysqld

方法 2: mysqld_safe ファイルを変更する (これは強迫性障害の学生に推奨されており、私もこれを使用しています)

# vim /software/mysql/bin/mysqld_safe

すべての /usr/local/mysql を /software/mysql に変更します

保存して終了します。 (このファイルをコピーして変更し、置き換えることができます)

13. MySQLにログインする

ここにログインできません。ブロックされています。次のようなエラーが表示されます:

エラー 1045 (28000): ユーザー 'root'@'localhost' のアクセスが拒否されました (パスワード使用: NO)。

https://cloud.tencent.com/developer/article/1188636 を参照してください。

この操作を次のように変更します。

1. MySQLデータベースを停止する

/etc/init.d/mysqld stop

(または、プロセスを強制終了するには、単に kill -9 [PID] と入力します)

2. 次のコマンドを実行します

mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

3. MySQLデータベースにrootとしてログインする

mysql -u root mysql

4. ルートパスワードを更新する

MySQL の最新バージョンの場合は、次の SQL を使用してください。

mysql> ALTER USER 'root'@'localhost' が 'newpassword' によって mysql_native_password で識別されます。

5. 権限を更新する

mysql> FLUSH PRIVILEGES;

6. MySQLを終了する

mysql>終了

7. MySQLを再起動する

/etc/init.d/mysqld restart

8. ルートユーザーを使用してmysqlに再度ログインします。

mysql -uroot -p
 パスワードを入力してください: <新しいパスワード newpassword を入力してください>
-------------------------------------------------------------------------------------------------------------------------------
#/software/mysql/bin/mysql -u ルート –p

14. 一時パスワードを入力します。一時パスワードは、8 番目の root@localhost の後の内容です。

15. MySQLログインパスワードを変更する

>mysql パスワードを password('root') に設定します。
>mysql は、'root' で識別される root@'%' に *.* のすべての権限を付与します。
>mysql フラッシュ権限;

16. 完了。この時点でMySQLのログイン名はroot、ログインパスワードはrootです。

要約する

Linux に MySQL 8.0.19 をインストールするための詳細な手順と問題解決方法については、これで終わりです。Linux に MySQL 8.0.19 をインストールする方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Linux システム MySQL8.0.19 クイックインストールと構成チュートリアル図
  • Linux (Centos7) に mysql8.0.18 をインストールするチュートリアル図
  • MySQL 8.0.18 のインストールと設定方法のグラフィック チュートリアル (Linux)
  • Linux での mysql-5.7.28 インストール チュートリアル
  • Linux環境にMySQLデータベースをインストールする詳細なチュートリアル

<<:  JavaScript CollectGarbage 関数の例

>>:  Linux 論理ボリューム管理 (LVM) の使用法の概要

推薦する

MySQL での Join の使用に関する詳細な説明

前の章では、1 つのテーブルからデータを読み取る方法を学習しました。これは比較的簡単ですが、実際のア...

MacにMySQLをインストールするときに初期パスワードを忘れた場合の対処方法

パスワードを忘れると困ります。Mac に MySQL をインストールするための初期パスワードを忘れて...

Vue はグラフィック検証コードログインを実装します

この記事では、グラフィック認証コードログインを実装するためのVueの具体的なコードを参考までに紹介し...

ウェブレッスンプラン、初心者向けレッスンプラン

指導トピックウェブページ適用グレード高校2年生授業時間1 クラス教科書分析焦点: 静的および動的ウェ...

Web ページ WB.ExecWB 制御印刷メソッド呼び出しの説明とパラメータの紹介

WebページWB.ExecWB制御印刷方法コードをコピーコードは次のとおりです。 <テーブルの...

React+Typescriptはカウントダウンフックメソッドを実装します

まず、setIntervalはフックとしてカプセル化されます👇 'react' から...

MySQLの数値型自動増分における落とし穴

テーブル構造を設計する場合、数値型は最も一般的な型の 1 つですが、数値型をうまく使用するのは想像す...

Nginx/Httpd ロードバランシング Tomcat 設定チュートリアル

前回のブログでは、Nginx と httpd を使用して、逆生成用のバックエンド Tomcat サー...

mysql5.7.14 解凍版インストールと設定方法 グラフィックチュートリアル (win10)

Win10はmysql5.7の解凍版をインストールします。参考までに、具体的な内容は次のとおりです...

ルートパスワードを変更するための MySQL 設定、MySQL サーバー接続、MySQL 共通コマンド図

1. ルートパスワードの設定と変更mysql が起動しているかどうかを確認します。起動していない場合...

vue-amap のインストールと使用手順

以前、Amap API を非同期にロードする方法を紹介しました。今回は、vue-amap の使用方法...

Vue Element フロントエンドアプリケーション開発開発環境の準備

目次概要1. 必要なソフトウェア環境を開発する1) VSコードのインストール2) ノード開発環境をイ...

HTML_PowerNode 入門 Java アカデミー

HTMLとは何ですか? HTML は Web ページを記述するために使用される言語です。 HTML ...

Win2008 サーバー セキュリティ チェック手順ガイド (日常のメンテナンス手順)

ドキュメントはしばらく前から書いていましたが、アップロードする勇気がありませんでした。サーバーのセキ...

Youdaの新しいプチビューの実装

目次序文導入ライブ使いやすいルートスコープマウント要素の指定ライフサイクルコンポーネントグローバル状...