-
Kuangchuangゲストサークルの古典的な本:「NettyZookeeper Redis High Concurrency PracticalCombat」インタビューエッセンシャル+インタビューエッセンシャル+インタビューエッセンシャル[ブログガーデン一般入場]
-
Crazy Maker Circle Classic Books:「SpringCloud、Nginx高同時実行コアプログラミング」主要メーカー向けのエッセンシャル+主要メーカー向けのエッセンシャル+主要メーカー向けのエッセンシャル[ブログパーク一般入場]
-
大きな工場に入るのに必要+昇給:高い同時実行性[1億レベルのトラフィックでのIM実際の戦闘]実際の戦闘シリーズ[SpringCloudNginxスパイク]実際の戦闘シリーズ[ブログパーク一般入場]
「SpringCloudNginx高同時実行コアプログラミング」環境セットアップ-シリーズ
成分 | リンクアドレス |
---|---|
【必須】仮想マシンLinux開発環境の準備 | https://www.cnblogs.com/crazymakercircle/p/14194688.html |
Linuxopenrestyのインストール | Linuxopenrestyのインストール |
[必須] Linux Redisのインストール(ビデオ付き) | Linux Redisのインストール(ビデオ付き) |
[必須] Linux Zookeeperのインストール(ビデオ付き) | Linux Zookeeperのインストール、ビデオ付き |
Windows Redisのインストール(ビデオ付き) | Windows Redisのインストール(ビデオ付き) |
RabbitMQオフラインインストール(ビデオ付き) | RabbitMQオフラインインストール(ビデオ付き) |
ElasticSearchのインストール、ビデオ付き | ElasticSearchのインストール、ビデオ付き |
Nacosのインストール(ビデオ付き) | Nacosのインストール(ビデオ付き) |
【必須】ユーレカ | ビデオでユーレカを始めよう |
[必須] springcloudConfigの使用を開始するビデオ | ビデオ付きのspringcloudConfigの使用を開始する |
[必須] SpringCloudスキャフォールディングのパッケージ化と起動 | SpringCloudスキャフォールディングのパッケージ化と起動 |
Linuxセルフスタート、一時停止アニメーション、セルフスタート、時限セルフスタート | Linuxのセルフスタートの仮死状態 |
centosmysql仮想マシンイメージ
Crazy Maker Circleネットワークディスクは、すべての人のためにspringcloud.box仮想マシンイメージを準備しました。これには、java、redis、zookeeper、kafka、Eureka、springcloud config、mysqlなどの必要なコンポーネントがプリインストールされているため、準備の手間が省けます。開発環境。素晴らしいと思いませんか。ネットワークディスクアドレスについては、【ブログパーク一般入口】をご参照ください。
本当に自分でインストールしたい場合は、次のチュートリアルを使用してください。これは作成者のインストールノートでもあり、引き続き問題を記録します。
mysqlをインストールします
MariaDBはデフォルトでMySQLのブランチであるCentOSにインストールされますが、必要に応じてMySQLをシステムにインストールする必要があり、MariaDBはインストールの完了後に直接上書きできます。
1MySQLの公式Yumリポジトリをダウンロードしてインストールします
CentOSのyumソースにはmysqlがないため、mysqlの公式Webサイトからyumリポジトリ構成ファイルをダウンロードする必要があります。ダウンロードコマンド:
[root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
実行プロセスは次のとおりです。
[root@localhost work]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
--2020-12-27 02:02:22-- http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
.....
HTTP request sent, awaiting response... 200 OK
Length: 25548 (25K) [application/x-redhat-package-manager]
Saving to: ‘mysql57-community-release-el7-10.noarch.rpm’
100%[==================================================================================================>] 25,548 127KB/s in 0.2s
2020-12-27 02:04:42 (127 KB/s) - ‘mysql57-community-release-el7-10.noarch.rpm’ saved [25548/25548]
上記のコマンドを使用して、インストール用に約25KBのYumリポジトリーを直接ダウンロードします。
次に、リポジトリをインストールします。
rpm -ivh mysql57-community-release-el7-10.noarch.rpm
実行プロセスは次のとおりです。
[root@localhost work]# rpm -ivh mysql57-community-release-el7-10.noarch.rpm
warning: mysql57-community-release-el7-10.noarch.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:mysql57-community-release-el7-10 ################################# [100%]
実行が完了すると、2つのリポジトリファイルが/etc/yum.repos.d/ディレクトリmysql-community.repomysql-community-source.repoに生成されます。
yumコマンドを使用してインストールを完了します
/etc/yum.repos.d/ディレクトリーに入り、次のスクリプトを実行する必要があります。そうすれば、yumを直接インストールできます。
[root@localhost ~]# yum install mysql-server
この手順には時間がかかる場合があり、インストールが完了すると、前のmariadbが上書きされます。
[root@localhost yum.repos.d]# yum install mysql-server
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
.....
Installed:
mysql-community-libs.x86_64 0:5.7.32-1.el7 mysql-community-libs-compat.x86_64 0:5.7.32-1.el7 mysql-community-server.x86_64 0:5.7.32-1.el7
Dependency Installed:
mysql-community-client.x86_64 0:5.7.32-1.el7 mysql-community-common.x86_64 0:5.7.32-1.el7
Dependency Updated:
openssl.x86_64 1:1.0.2k-21.el7_9 openssl-libs.x86_64 1:1.0.2k-21.el7_9 postfix.x86_64 2:2.10.1-9.el7
Replaced:
mariadb-libs.x86_64 1:5.5.44-2.el7.centos
Complete!
msyqlを開始します。
MySQLを起動します
systemctl start mysqld
ログインする:
インストール中に一時パスワードを取得します(このパスワードは、初めてログインするときに使用されます):grep '一時パスワード' /var/log/mysqld.log
[root@localhost yum.repos.d]# grep 'temporary password' /var/log/mysqld.log
2020-12-27T02:34:04.063826Z 1 [Note] A temporary password is generated for root@localhost: LXwH6NSf*kVh
一時パスワードを使用してmysqlにログインします
mysql -u root -p
次に、パスワード(取得したばかりの一時パスワード)を入力しますLXwH6NSf * kVh
ログインに成功したら、パスワードを変更します
1.まず、パスワード検証の強度レベルを設定し、validate_password_policyのグローバルパラメーターをLOWに設定する必要があります。
設定ステートメント「setglobalvalidate_password_policy = LOW;」を入力して、値を設定します。
2.現在のパスワードの長さは8です。よろしければ、変更する必要はありません。通常、6桁のパスワードに設定し、validate_password_lengthのグローバルパラメータを6に設定します。
設定ステートメント「setglobalvalidate_password_length = 6;」を入力して、値を設定します。
3.これで、6桁の長さを満たしている限り、mysqlに簡単なパスワードを設定できます。
変更ステートメント「ALTERUSER'root '@' localhost 'IDENTIFIED BY' 123456 ';」を入力すると、変更が成功したことがわかり、パスワードポリシーの変更が成功したことを示します。!!
実行プロセスは次のとおりです。
[root@localhost yum.repos.d]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.32
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> set global validate_password_policy=LOW
-> ;
Query OK, 0 rows affected (0.03 sec)
mysql> set global validate_password_length=6;
Query OK, 0 rows affected (0.01 sec)
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.04 sec)
注:SQLを作成するときは、ステートメントの完了後に必ず「;」を追加してください。
一般的なコマンド
1.MySQLを起動します
systemctl start mysqld
2.MySQLを閉じます
systemctl stop mysqld
3.MySQLを再起動します
systemctl restart mysqld
4.MySQLの実行ステータスを表示する
systemctl status mysqld
5.起動を設定します
systemctl enable mysqld
6、ブーツをオフにします
systemctl disable mysqld
トラブルシューティング
mysqlアカウントはリモートログインを許可されていません
デフォルトでは、mysqlアカウントはリモートログインを許可せず、ローカルホストでのみログインできます。この記事では、リモートホストを介して接続するようにmysqlを設定する2つの方法を提供します。
- 1.テーブルメソッドの変更
localhostからmysqlにログインした後、「mysql」データベースの「user」テーブルの「host」項目を変更し、「localhost」の名前を「%」に変更します。
#mysql -u root -p
Enter password:
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
注:%は任意のクライアントを表し、特定のIPアドレスに置き換えることができます。
- 2.認可法
例:myuserがmypassword(パスワード)を使用して任意のホストからmysqlサーバーに接続するようにしたい場合。
mysql> GRANT ALL PRIVILEGESON。TO'myuser '@'% 'IDENTIFIED BY'mypassword' WITH GRANT OPTION;
ユーザーmyuserがIPが192.168.1.6のホストからmysqlサーバーに接続できるようにし、mypasswordをパスワードとして使用する場合
mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES
デフォルトのエンコーディングをutf8として構成します。
vi /etc/my.cnf
#追加
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
その他の構成ファイル:
/etc/my.cnfログファイル:/var/log//var/log/mysqld.log
サービス起動スクリプト:/usr/lib/systemd/system/mysqld.service
ソケットファイル:/var/run/mysqld/mysqld.pid
大文字と小文字を区別しません
次の図に示すように、MySQLをインストールしたときにmy.cnfファイルを見つけます
。mysqldの下にlower_case_table_names = 1という行を追加します(1は大文字と小文字を区別せず、0は大文字と小文字を区別し、デフォルトは0です)
Mysqlへのリモート接続が遅すぎる
上記の接続タイムアウトの問題を解決しようとしましたが、それが役に立たないことがわかった場合でも、上記の問題は引き続き発生します。それで、Mysqlへのリモート接続が遅すぎて、接続がタイムアウトするのではないかと思いますか?CentOS7サーバーとWindowsネイティブNavicatでmysqlに接続するのに問題がないためです。オンラインで検索したところ、次の構成パラメーターがmysql構成ファイル/etc/my.cnfに追加されていることがわかりました。
#構成は[mysqld]の下に追加されることに注意してください
[mysqld]
スキップ-名前解決
次に、mysqlサービスを再起動する必要があります。指示に従って、mysqlホストがDNSを照会して解決すると、クライアントホストが多い場合に速度が低下したり、接続が遅くなったりするためです。同時に、この構成パラメーターを追加した後、これはドメイン名の解決を禁止した結果であるため、mysql認証テーブルのホストフィールドはドメイン名を使用できず、IPアドレスのみを使用できることに注意してください。
ファイアウォールからポートを開くか、ファイアウォールを閉じます
#systemctl statusfirewalldを介してfirewalldステータスを表示する
[root@localhost yum.repos.d]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
ファイアウォール設定をオフにしたい場合は、コマンドsystemctl stopfirewalldを使用して機能をオフにすることができます。
systemctl stop firewalld.service #关闭防火墙
ファイアウォールを開始します
systemctl start firewalld
#systemctl status Firewalldを使用してfirewalldステータスを再度確認すると、実行がすでにオンになっていることが示されます。
ファイアウォールのリリースルールを増やします。
#firewall-cmd --permanent --zone = public --add-port = 3306 / tcpを再度実行し、成功を促し、設定が成功したことを示します。
firewall-cmd --permanent --zone=public --add-port=3306/tcp
このようにして、以下の設定を続けることができます。ファイアウォールをリロードします
firewall-cmd --reload
注:開発環境の場合は、ファイアウォールをオフにするだけです
报错:指定されたキーが長すぎました。キーの最大長は767バイトです
1エラー1071(42000):指定されたキーが長すぎました。キーの最大長は767バイトです
バージョン5.6ソリューション。rootアカウントを使用して、2つのグローバル変数を設定します。
set global innodb_large_prefix=on;
set global innodb_file_format=Barracuda;
报错:MySqlホストは多くの接続エラーのためにブロックされています。
特定の例外
MySql Hostは、多くの接続エラーのためにブロックされています。'mysqladminflush-hosts'でブロックを解除します
- 原因分析:
Tomcatログファイルを確認し、このエラーがエラーレポートの最初に発生したことを確認しました。問い合わせたところ、間違った理由は次のとおりです。同じIPが、障害によって引き起こされたデータベース接続の中断を短時間で生成しすぎた(mysqlデータベースの最大接続最大エラーを超えた)。
- 解決:
CentOS7サーバーに入ります。
- 方法1:許可される最大接続エラーの数を増やす(症状を治療するが根本原因は治療しない):
- 最大接続エラーを表示するには、Mysqlデータベースに入ります。 '%max_connection_errors%'のような変数を表示します。
- 最大接続エラーの数を1000に変更します。setglobalmax_connect_errors= 1000;
- 変更が成功したかどうかを確認します。「%max_connection_errors%」のような変数を表示します。
- 方法2:mysqladmin flush-hostsコマンドを使用して、hostsファイルをクリーンアップします。
- mysqladminのパスを見つけます:whereis mysqladmin
- 次のようなコマンドを実行します:/usr/local/mysql5.5.35/bin/mysqladmin -uroot -pyourpwd flush-hosts
注:方法2は、hostsファイルをクリーンアップします。mysqlデータベースに直接入力して、次のコマンドを実行することもできます。mysql> flush hosts;
◀クレイジーメーカーサークルに戻る▶
Crazy Maker Circle-Javaの同時実行性の高い研究コミュニティ、すべての人に大きな工場への扉を開く