最近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/の権限を変更する
7. libaio依存パッケージをインストールします。システムにはこの依存パッケージが付属しているのでインストールする必要はありませんが、組み込みの依存パッケージはエラーを報告します。 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は32ビットでインストールされているため、ここでは64ビットが必要であり、次のステートメントを実行することで解決できます。 実行後にmysqlコマンドを再初期化する 9. MySQLサービスを開始する
MySQL サービスを開始する上記のコマンドは、MySQL 構成ファイルが変更されていないため、エラーを報告します。エラーの内容は次のとおりです。
10.Mysql設定ファイルを変更する
修正前 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ファイルを変更する
次の内容をコピーして現在の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を起動する
新しいバージョンのインストール パッケージではエラーが報告されます。エラーの内容は次のとおりです。
新しいバージョンの MySQL セキュア ブート インストール パッケージは、パス /usr/local/mysql のみを認識するためです。 解決: 方法1: ソフトリンクを作成する 例 #cd /usr/local/mysql #ln -s /sofware/mysql/bin/myslqd mysqld 方法 2: mysqld_safe ファイルを変更する (これは強迫性障害の学生に推奨されており、私もこれを使用しています) すべての /usr/local/mysql を /software/mysql に変更します 保存して終了します。 (このファイルをコピーして変更し、置き換えることができます) 13. MySQLにログインする ここにログインできません。ブロックされています。次のようなエラーが表示されます:
https://cloud.tencent.com/developer/article/1188636 を参照してください。 この操作を次のように変更します。 1. MySQLデータベースを停止する
(または、プロセスを強制終了するには、単に kill -9 [PID] と入力します) 2. 次のコマンドを実行します
3. MySQLデータベースにrootとしてログインする
4. ルートパスワードを更新する MySQL の最新バージョンの場合は、次の SQL を使用してください。 mysql> ALTER USER 'root'@'localhost' が 'newpassword' によって mysql_native_password で識別されます。 5. 権限を更新する
6. MySQLを終了する mysql>終了 7. MySQLを再起動する
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 をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: JavaScript CollectGarbage 関数の例
>>: Linux 論理ボリューム管理 (LVM) の使用法の概要
仮想マシンの IP アドレスを変更します。 次のインターフェイスに入り、サブネット IP を直接変更...
仮想化とコンテナ化は、クラウドベースのプロジェクトでは避けられない 2 つの問題です。仮想化は純粋な...
この記事では、参考までに天気予報を実装するためのVueの具体的なコードを紹介します。具体的な内容は次...
MySQL解凍版とNavicatデータベース操作ツールのインストールは、以下のとおりです。 1. M...
序文スタートアップ企業が最初はモノリシック アプリケーションを主要なアーキテクチャとして使用し、通常...
線形グラデーション 背景画像: linear-gradient(方向、開始色、中間色1、中間色2、....
目次予備作業バックエンド構築フロントエンドページダイレクトレンダリングsetTimeout ページン...
序文最近CocosCreatorを学びたいと思ったので、エディターをダウンロードして起動しました。誰...
1. インデックスはnull値を保存しないより正確に言うと、単一列インデックスには null 値は格...
目次ケースシナリオ問題を解決するまとめケースシナリオ本日、オンラインで問題が発見されました。監視範囲...
JSON 文字列を JSON オブジェクトに変換するにはどうすればいいですか? JSON.parse...
このケースはCentOS 7システムに基づいていますDockerの使用経験がある人に適していますLi...
voidキーワードの紹介まず、void キーワードは JavaScript で非常に重要なキーワード...
テキスト入力でプレースホルダーを使用していますが、問題なく動作します。しかし、選択ボックスにはプレー...
基本的な3列レイアウト 。容器{ ディスプレイ: フレックス; 幅: 500ピクセル; 高さ: 20...