Centos7はMySQL8.0をインストールします-手動

[ MySQL](https://cloud.tencent.com/product/cdb?from=10680)8公式バージョン8.0.11がリリースされました。公式には、MySQL8はMySQL5.7より2倍高速であり、多くの改善とより速いパフォーマンス!

1.以前のバージョンと比較したMysql8.0バージョンのいくつかの機能

**1) デフォルトのエンコーディングutf8 **
デフォルトのエンコーディングはutf8mb4を使用し、utf8mb4エンコーディングはutf8エンコーディングのスーパーセットであり、utf8と互換性があり、4バイトの絵文字履歴を格納できます。MySQLデータベース「utf8」はUTF-8の実際の概念ではありません。 MySQLの「utf8」エンコーディングは、1文字あたり最大3バイトしかサポートしていません。誰もが使用している実際のUTF-8エンコーディングは、1文字あたり4バイトをサポートできる必要があります。 MySQLの開発者はこのバグを修正しませんでした。彼らは2010年に回避策を追加しました:新しい文字セット「utf8mb4」さらに、utf-32エンコーディングは4バイトを使用し、32ビットストレージはutf8と比較してスペースの無駄です。

2) 降順インデックス
以前のバージョンで作成できますが、実際の作成はまだ昇順のインデックスです

mysql> create table t1(id1 int,id2 int,key(id1,id2 desc));
Query OK,0 rows affected(0.10 sec)
 
mysql> show create table t1 \G;***************************1. row ***************************
  Table: t1
Create Table: CREATE TABLE `t1`(`id1`int(11) DEFAULT NULL,`id2`int(11) DEFAULT NULL,
 KEY `id1`(`id1`,`id2` DESC)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
1 row inset(0.00 sec)
 
ERROR: 
No query specified

さらに、降順インデックスの導入により、MySQL8.0は操作によってグループを暗黙的にソートしなくなりました

3) インデックスを非表示
非表示のインデックス機能は、パフォーマンスのデバッグに非常に役立ちます。インデックスが非表示の場合、クエリオプティマイザは使用しません。つまり、インデックスを非表示にして、データベースへの影響を観察できます。データベースのパフォーマンスが低下している場合は、このインデックスが有用であることを意味するため、「表示を復元」します。データベースのパフォーマンスに変化がない場合は、このインデックスが冗長であり、削除できることを意味します。

mysql> create index idx2 on t1(id1);
Query OK,0 rows affected(0.35 sec)
Records:0  Duplicates:0  Warnings:0
 
mysql> alter table t1 alter index idx2 invisible;
Query OK,0 rows affected(0.09 sec)
Records:0  Duplicates:0  Warnings:0
 
mysql> show index from t1 where key_name='idx2' \G;***************************1. row ***************************
  Table: t1
 Non_unique:1
  Key_name: idx2
 Seq_in_index:1
 Column_name: id1
 Collation: A
 Cardinality:0
  Sub_part: NULL
  Packed: NULL
   Null: YES
 Index_type: BTREE
  Comment: 
Index_comment: 
  Visible: NO
1 row inset(0.01 sec)
 
ERROR: 
No query specified

インデックスが非表示の場合でも、そのコンテンツは通常のインデックスとしてリアルタイムで更新されます。この機能は、特に最適化されたデバッグ用です。インデックスを長期間非表示にする場合は、インデックスの存在が挿入、更新、および削除のパフォーマンスに影響を与えるため、インデックスを完全に削除することをお勧めします。

4) 永続性を設定
オラクルでは、スコープを使用してパラメータを設定し、spfileに到達するかどうかを決定できます。これでmysql8.0もファイルに配置できます。使用方法:

mysql> show variables like 'max_connects';
Empty set(0.07 sec)
 
mysql> show variables like 'max_connections';+-----------------+-------+| Variable_name   | Value |+-----------------+-------+| max_connections |500|+-----------------+-------+1 row inset(0.01 sec)
 
mysql>set persist max_connections=1000;
Query OK,0 rows affected(0.00 sec)
 
mysql> show variables like 'max_connections';+-----------------+-------+| Variable_name   | Value |+-----------------+-------+| max_connections |1000|+-----------------+-------+1 row inset(0.01 sec)

データディレクトリdatadirのmysqld-auto.cnfファイルに保存されている設定を表示できます。デフォルトの構成パラメーターは、次回の起動時にこの構成で上書きされます。
{ " Version" : 1 , "mysql_server" : { "max_connections" : { "Value" : "1000" , "Metadata" : { "Timestamp" : 1540437420567571 , "User" : "root" , "Host" : "" } } } }

5) 一般的なテーブル式
仮想ビューとも呼ばれ、複雑なクエリを大幅に簡素化します

mysql> WITH
 - > t1 AS(SELECT * FROM t1),->  t2 AS(SELECT * FROM t1)-> SELECT t1.*, t2.*-> FROM t1, t2;+------+------+------+------+| id1  | id2  | id1  | id2  |+------+------+------+------+|1|2|1|2|+------+------+------+------+1 row inset(0.00 sec)

6) ウィンドウ機能
MySQLの最も不満な機能の1つは、rank()関数がないことです。クエリにランク付けを実装する必要がある場合は、@変数を手動で記述する必要があります。しかし、8.0以降、MySQLはウィンドウ関数と呼ばれる新しい概念を追加しました。これは、いくつかの新しいクエリメソッドを実装するために使用できます。
ウィンドウは個別に作成できることに注意してください。

mysql> create table tbl2(name varchar(10),amount int);
Query OK,0 rows affected(0.16 sec)
 
mysql> insert into tbl2 values('usa',100),('china',101),('japan',103),('russian',99);
Query OK,4 rows affected(0.13 sec)
Records:4  Duplicates:0  Warnings:0
 
mysql> select t1.*,rank() over w as'rank'from tbl2 as t1 window w as(order by amount);+---------+--------+------+| name    | amount | rank |+---------+--------+------+| russian |99|1|| usa     |100|2|| china   |101|3|| japan   |103|4|+---------+--------+------+4 rows inset(0.00 sec)
 
mysql> select t1.*,rank()over()as'rank'from tbl2 as t1;+---------+--------+------+| name    | amount | rank |+---------+--------+------+| usa     |100|1|| china   |101|1|| japan   |103|1|| russian |99|1|+---------+--------+------+4 rows inset(0.00 sec)
 
mysql> select t1.*,rank()over(order by amount)as'rank'from tbl2 as t1;+---------+--------+------+| name    | amount | rank |+---------+--------+------+| russian |99|1|| usa     |100|2|| china   |101|3|| japan   |103|4|+---------+--------+------+4 rows inset(0.00 sec)
 
mysql> select t1.*,sum()over()as'rank'from tbl2 as t1;
ERROR 1064(42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') over() as 'rank' from tbl2 as t1' at line 1
mysql> select t1.*,sum(amount)over()as'sum'from tbl2 as t1;+---------+--------+------+| name    | amount | sum  |+---------+--------+------+| usa     |100|403|| china   |101|403|| japan   |103|403|| russian |99|403|+---------+--------+------+4 rows inset(0.00 sec)

7) 安全性
OpenSSLの改善、新しいデフォルト認証、SQLロール、パスワード強度、承認。 MySQLはパスワード履歴に関する情報を保持するようになり、以前のパスワードの再利用を制限できるようになりました
たとえば、一般的な接続エラーについては、https://blog.csdn.net/jc_benben/article/details/80652897を参照してください。

8) JSON(json拡張機能)とOpenGIS空間タイプを追加
mysqlは、多くのjson関連関数とAPIインターフェイスを提供し、パスクエリパラメータに基づいてJSONフィールドからデータを抽出するJSON_EXTRACT()関数と、データをJSON配列とオブジェクトに結合するJSON_ARRAYAGG()とJSON_OBJECTAGG()をそれぞれ追加します。 )集計機能

9) アトミックデータ定義ステートメント(アトミックDDL)

10) 資源管理
MySQLは、リソースグループの作成と管理をサポートするようになり、サーバーで実行されているスレッドを特定のグループに割り当てて、グループで使用可能なリソースに従ってスレッドを実行できるようになりました。グループ属性は、そのリソースを制御して、グループ内のスレッドのリソース消費を有効または制限できます。

11) Data dictionary
MySQLには、データベースオブジェクトに関する情報を格納するためのトランザクションデータディクショナリが含まれるようになりました。以前のMySQLリリースでは、ディクショナリデータはメタデータファイルと非トランザクションテーブルに格納されていました。
たとえば、myisamおよびinnodbテーブル定義frmファイルなど。

12) Innodbの機能強化** 1 **値が変更されるたびに、現在の最大自動インクリメントカウンター値がREDOログに書き込まれ、各チェックポイントのエンジン固有のシステムテーブルに保存されます。これらの変更により、サーバーの再起動時に現在の最大自動インクリメントカウンター値は変更されません。
2 インデックスツリーの損傷が発生すると、InnoDBは損傷フラグをREDOログに書き込みます。これにより、損傷フラグが安全にクラッシュします。 InnoDBはまた、メモリ内の損傷フラグデータを各チェックポイントでエンジン固有のシステムテーブルに書き込みます。リカバリ中に、InnoDBは2つの場所から損傷フラグを読み取り、結果をマージしてから、メモリテーブルとインデックスオブジェクトを損傷としてマークします。
**3 **InnoDB分散キャッシュプラグインは、複数の取得操作(単一のマルチキー/値ペア分散キャッシュクエリでの読み取り)と範囲クエリをサポートします。
**4 **新しい動的構成オプションinnodb_deadlock_detectを使用して、デッドロック検出を無効にすることができます。同時実行性の高いシステムでは、多くのスレッドが同じロックを待機していると、デッドロックの検出が遅くなります。場合によっては、デッドロック検出を無効にし、innodb_lock_wait_timeoutデッドロックが発生したときにトランザクションロールバックの設定に依存する方が効果的な場合があります。
5 INFORMATION_SCHEMA.INNODB_CACHED_INDEXESテーブルは、InnoDBの各インデックスバッファプールにキャッシュされているインデックスページの数を報告します。
6 InnoDBは、共有一時テーブルスペースに一時テーブルibtmp1を作成するようになりました。
**7 **InnoDBテーブルスペース暗号化機能は、REDOログ暗号化とUNDOログデータをサポートします。
8 InnoDBは、NOWAITおよびSKIPLOCKEDオプションSELECT ... FORSHAREおよびSELECT ... FORUPDATEロック読み取りステートメントをサポートします。 NOWAIT要求された行が別のトランザクションによってロックされている場合、ステートメントはすぐに返されます。 SKIP LOCKEDは、ロックされた行を結果セットから削除します。SELECT... FORSHAREはSELECT ... LOCK IN SHARE MODEを置き換えますが、LOCK IN SHAREMODEは下位互換性のために引き続き使用できます。
9 ADD PARTITION、DROP PARTITION、COALESCE PARTITION、REORGANIZE PARTITION、およびREBUILD PARTITION ALTERTABLEオプションをサポートします。
10 InnoDBストレージエンジンは、独自のストレージエンジン固有のデータディクショナリではなく、MySQLデータディクショナリを使用するようになりました。
11 mysqlシステムテーブルとデータディクショナリは、MySQLデータディレクトリのInnoDBという名前の単一のテーブルテーブルファイルに表され、mysql.ibdを作成します。以前は、これらのテーブルは、mysqlデータベースディレクトリ内のさまざまなテーブルテーブルファイルにInnoDBによって作成されていました。

2. Mysql8.0のインストール(YUMメソッド)

1) 最初に、以前にインストールされた可能性のあるシステムデフォルトまたは他のバージョンのmysqlを削除します
[ root@DB-node01 ~]# for i in$(rpm -qa|grep mysql);do rpm -e $i --nodeps;done
[ root@DB-node01 ~]# rm -rf /var/lib/mysql && rm -rf /etc/my.cnf
  
2) Mysql8をインストールします.0yumリソースライブラリ
mysql80-community-release-el7-1.noarch.rpmダウンロードアドレス:  https://pan.baidu.com/s/1QzYaSnzAQeTqAmk8FE9doA
パスワードを取得する: 2maw

[ root@DB-node01 ~]# yum localinstall https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm3)Mysql8をインストールします.0[root@DB-node01 ~]# yum install mysql-community-server
  
MySQLサーバーの起動とMySQLの自動起動
[ root@DB-node01 ~]# systemctl start mysqld
[ root@DB-node01 ~]# systemctl enable mysqld
  
4) デフォルトのパスワードで最初にログインした後,パスワードをリセットする必要があります
  
デフォルトのパスワードを表示する,次のデフォルトのパスワードは"e53xDalx.*dE"[root@DB-node01 ~]# grep 'temporary password'/var/log/mysqld.log
2019- 03- 06 T01:53:19.897262Z 5[Note][MY-010454][Server] A temporary password is generated for root@localhost: e53xDalx.*dE
  
[ root@DB-node01 ~]# mysql -pe53xDalx.*dE
............
mysql> select version();
ERROR 1820(HY000): You must reset your password using ALTER USER statement before executing this statement.
  
初期パスワードをリセットする必要があることを示すエラーメッセージ,次に、mysqlログインパスワードのリセットを開始します(mysqlデータベースに切り替える必要があることに注意してください。usemysqlを使用してください)
mysql> use mysql;
ERROR 1820(HY000): You must reset your password using ALTER USER statement before executing this statement.
  
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
ERROR 1819(HY000): Your password does not satisfy the current policy requirements
  
これは実際には検証と同じです_password_ポリシーの価値は関連しています, mysql8.0変更された検証_password_ポリシー関連の構成名,これはMysql5に似ています.7は少し違います.
mysql>set global validate_password.policy=0;
Query OK,0 rows affected(0.00 sec)
  
mysql>set global validate_password.length=1;
Query OK,0 rows affected(0.00 sec)
  
次に、パスワードを変更します
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
Query OK,0 rows affected(0.05 sec)
  
mysql> flush privileges;
Query OK,0 rows affected(0.03 sec)
  
脱落,新しいパスワードを再利用してmysqlにログインします
[ root@DB-node01 ~]# mysql -p123456
...........
mysql> select version();+-----------+|version()|+-----------+|8.0.15|+-----------+1 row inset(0.00 sec)
  
サービスポートを表示
mysql> show global variables like 'port';+---------------+-------+| Variable_name | Value |+---------------+-------+| port          |3306|+---------------+-------+1 row inset(0.01 sec)
  
mysql接続の認証情報を表示する
mysql> select host,user,password from mysql.user;
ERROR 1054(42S22): Unknown column 'password'in'field list'
  
この上にmysql5があります.バージョン6以下のコマンドを表示,
mysql5.7以降のデータベース内のMySQL.パスワードフィールドはユーザーテーブルになくなり、パスワードフィールドは認証に変更されます_string。
mysql> select host,user,authentication_string from mysql.user;+-----------+------------------+------------------------------------------------------------------------+| host      | user             | authentication_string                                                  |+-----------+------------------+------------------------------------------------------------------------+| localhost | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED || localhost | mysql.session    | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED || localhost | mysql.sys        | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED || localhost | root             | $A$005${7J0=4Dc7Jym8eI/FU4jimKWFvkD9XmoAkF1ca5.Un0bc6zgmPtU.0|+-----------+------------------+------------------------------------------------------------------------+4 rows inset(0.00 sec)=============================mysql8.0ユーザーパスワードの変更コマンド================================
mysql> use mysql;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; 
mysql> flush privileges;

3. Mysql8.0のインストール(バイナリモード)

1) 最初に、以前にインストールされた可能性のあるシステムデフォルトまたは他のバージョンのmysqlを削除します
[ root@mysql8-node ~]# for i in$(rpm -qa|grep mysql);do rpm -e $i --nodeps;done
[ root@mysql8-node ~]# rm -rf /var/lib/mysql && rm -rf /etc/my.cnf

2) 必要なパッケージをインストールします
[ root@mysql8-node ~]# yum -y install libaio
[ root@mysql8-node ~]# yum -y install net-tools

3) Mysql8をダウンロードしてインストールします.0.12
ダウンロードリンク:  https://pan.baidu.com/s/1LyXrkrCPP7QKLrWYbLRBlw
パスワードを取得する:  emmf

[ root@mysql8-node ~]# groupadd mysql
[ root@mysql8-node ~]# useradd -g mysql mysql

[ root@mysql8-node ~]# cd /usr/local/src/[root@mysql-node src]# ll
- rw-r--r--1 root root 620389228 Aug 222018 mysql8.0.12_bin_centos7.tar.gz
[ root@mysql-node src]# tar -zvxf mysql8.0.12_bin_centos7.tar.gz 
[ root@mysql-node src]# mv mysql /usr/local/[root@mysql-node src]# chown -R mysql.mysql /usr/local/mysql

[ root@mysql-node src]# vim /home/mysql/.bash_profile
export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
[ root@mysql-node src]# source /home/mysql/.bash_profile
[ root@mysql-node src]# echo "PATH=$PATH:/usr/local/mysql/bin">>/etc/profile
[ root@mysql-node src]# source /etc/profile

4) データディレクトリを作成する
[ root@mysql-node src]# mkdir -p /data/mysql/{data,log,binlog,conf,tmp}[root@mysql-node src]# chown -R mysql.mysql /data/mysql

5) mysqlを構成します
[ root@mysql-node src]# su - mysql
[ mysql@mysql-node ~]$ vim /data/mysql/conf/my.cnf
[ mysqld]
lower_case_table_names          =1
user                            = mysql
server_id                       =1
port                            =3306default-time-zone ='+08:00'
enforce_gtid_consistency        = ON
gtid_mode                       = ON
binlog_checksum                 = none
default_authentication_plugin   = mysql_native_password 
datadir                         =/data/mysql/data
pid-file                        =/data/mysql/tmp/mysqld.pid
socket                          =/data/mysql/tmp/mysqld.sock
tmpdir                          =/data/mysql/tmp/
skip-name-resolve               = ON
open_files_limit                =65535 
table_open_cache                =2000

################# innodb########################
innodb_data_home_dir            =/data/mysql/data
innodb_data_file_path           = ibdata1:512M;ibdata2:512M:autoextend
innodb_buffer_pool_size = 12000M
innodb_flush_log_at_trx_commit =1
innodb_io_capacity =600
innodb_lock_wait_timeout =120
innodb_log_buffer_size = 8M
innodb_log_file_size = 200M
innodb_log_files_in_group =3
innodb_max_dirty_pages_pct =85
innodb_read_io_threads =8
innodb_write_io_threads =8
innodb_thread_concurrency =32
innodb_file_per_table
innodb_rollback_on_timeout

innodb_undo_directory           =/data/mysql/data
innodb_log_group_home_dir       =/data/mysql/data

################### session###########################
join_buffer_size = 8M
key_buffer_size = 256M
bulk_insert_buffer_size = 8M
max_heap_table_size = 96M
tmp_table_size = 96M
read_buffer_size = 8M
sort_buffer_size = 2M
max_allowed_packet = 64M
read_rnd_buffer_size = 32M

############ log set###################
log-error                       =/data/mysql/log/mysqld.err
log-bin                         =/data/mysql/binlog/binlog
log_bin_index                   =/data/mysql/binlog/binlog.index
max_binlog_size                 = 500M
slow_query_log_file             =/data/mysql/log/slow.log
slow_query_log                  =1
long_query_time                 =10
log_queries_not_using_indexes   = ON
log_throttle_queries_not_using_indexes  =10
log_slow_admin_statements       = ON
log_output                      = FILE,TABLE
master_info_file                =/data/mysql/binlog/master.info

6) 初期化(ちょっと待って,到達できる/data/mysql/log/mysqld.err日子里查看初期化过程,エラーメッセージがあるかどうかを確認します)[mysql@mysql-node ~]$ mysqld --defaults-file=/data/mysql/conf/my.cnf  --initialize-insecure  --user=mysql  

7) mysqldを起動します
[ mysql@mysql-node ~]$ mysqld_safe --defaults-file=/data/mysql/conf/my.cnf &[mysql@mysql-node ~]$ lsof -i:3306
COMMAND   PID  USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
mysqld  24743 mysql   23u  IPv6 23132988      0t0  TCP *:mysql(LISTEN)8)mysqlにログインします,パスワードを再設定する
初めてローカルでsockファイルを使用してmysqlにログインするのにパスワードは必要ありません
[ mysql@mysql-node ~]# mysql -S /data/mysql/tmp/mysqld.sock
.............
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
Query OK,0 rows affected(0.07 sec)

mysql> flush privileges;
Query OK,0 rows affected(0.03 sec)

mysql> select host,user,authentication_string from mysql.user;+-----------+------------------+------------------------------------------------------------------------+| host      | user             | authentication_string                                                  |+-----------+------------------+------------------------------------------------------------------------+| localhost | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED || localhost | mysql.session    | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED || localhost | mysql.sys        | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED || localhost | root             |*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9                              |+-----------+------------------+------------------------------------------------------------------------+4 rows inset(0.00 sec)

脱落,この時点でパスワードをリセットした後,sockファイルを使用してパスワードなしでログインすることはできません
[ root@mysql-node ~]# mysql -S /data/mysql/tmp/mysqld.sock
ERROR 1045(28000): Access denied for user 'root'@'localhost'(using password: NO)[root@mysql-node ~]# mysql -p123456
mysql:[Warning] Using a password on the command line interfacecan be insecure.
ERROR 2002(HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

sockファイルへのソフトリンクを作成する
[ root@mysql-node ~]# ln -s /data/mysql/tmp/mysqld.sock /tmp/mysql.sock

[ root@mysql-node ~]# mysql -p123456
または
[ root@mysql-node ~]# mysql -uroot -S /data/mysql/tmp/mysqld.sock -p123456
.............
mysql> select version();+-----------+|version()|+-----------+|8.0.12|+-----------+1 row inset(0.00 sec)

# ユーザー権限を付与する.最初にユーザーを作成する必要があります,承認するには!!(ユーザーを作成するときは、@そして、アドレスを指定します,次に、付与が承認されたときのアドレスはこれです@後で指定!,それ以外の場合、許可の付与はエラーを報告します!)
mysql> create user 'kevin'@'%' identified by '123456';
Query OK,0 rows affected(0.11 sec)

mysql> grant all privileges on *.* to 'kevin'@'%'with grant option;  
Query OK,0 rows affected(0.21 sec)

mysql> select host,user,authentication_string from mysql.user;+-----------+------------------+------------------------------------------------------------------------+| host      | user             | authentication_string                                                  |+-----------+------------------+------------------------------------------------------------------------+|%| kevin            |*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9                              || localhost | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED || localhost | mysql.session    | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED || localhost | mysql.sys        | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED || localhost | root             |*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9                              |+-----------+------------------+------------------------------------------------------------------------+5 rows inset(0.00 sec)

mysql> update mysql.user set host='172.16.60.%' where user="kevin";
Query OK,1 row affected(0.16 sec)
Rows matched:1  Changed:1  Warnings:0

mysql> flush privileges;
Query OK,0 rows affected(0.05 sec)

mysql> select host,user,authentication_string from mysql.user;+-------------+------------------+------------------------------------------------------------------------+| host        | user             | authentication_string                                                  |+-------------+------------------+------------------------------------------------------------------------+|172.16.60.%| kevin            |*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9                              || localhost   | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED || localhost   | mysql.session    | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED || localhost   | mysql.sys        | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED || localhost   | root             |*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9                              |+-------------+------------------+------------------------------------------------------------------------+5 rows inset(0.00 sec)

mysql>  create user 'bobo'@'172.16.60.%' identified by '123456';       
Query OK,0 rows affected(0.09 sec)

mysql> grant all privileges on *.* to 'bobo'@'172.16.60.%';      
Query OK,0 rows affected(0.17 sec)

mysql> flush privileges;
Query OK,0 rows affected(0.04 sec)

mysql> select host,user,authentication_string from mysql.user;+-------------+------------------+------------------------------------------------------------------------+| host        | user             | authentication_string                                                  |+-------------+------------------+------------------------------------------------------------------------+|172.16.60.%| bobo             |*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9                              ||172.16.60.%| kevin            |*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9                              || localhost   | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED || localhost   | mysql.session    | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED || localhost   | mysql.sys        | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED || localhost   | root             |*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9                              |+-------------+------------------+------------------------------------------------------------------------+6 rows inset(0.00 sec)

mysql> show grants for kevin@'172.16.60.%';+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+| Grants for [email protected].%|+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+| GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE, CREATE ROLE, DROP ROLE ON *.* TO `kevin`@`172.16.60.%` WITH GRANT OPTION |+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+1 row inset(0.00 sec)

MySQLシングルマシンマルチインスタンスインストール構成
上記のバイナリ展開から、ポート3306のMySQLインスタンスが設定されていることがわかります。次に、それぞれ3307と3308の2つのインスタンスを設定する必要があります。操作は次のとおりです。

インスタンスのデータディレクトリを作成します
[ root@mysql-node ~]# mkdir -p /data/mysql3307/{data,log,binlog,conf,tmp}[root@mysql-node ~]# mkdir -p /data/mysql3308/{data,log,binlog,conf,tmp}[root@mysql-node ~]# chown -R mysql.mysql /data/mysql3307
[ root@mysql-node ~]# chown -R mysql.mysql /data/mysql3308

mysqlを構成します
[ root@mysql-node ~]# cp -r /data/mysql/conf/my.cnf /data/mysql3307/conf/[root@mysql-node ~]# cp -r /data/mysql/conf/my.cnf /data/mysql3308/conf/[root@mysql-node ~]# sed -i 's#/data/mysql/#/data/mysql3307/#g'/data/mysql3307/conf/my.cnf
[ root@mysql-node ~]# sed -i 's#/data/mysql/#/data/mysql3308/#g'/data/mysql3308/conf/my.cnf 
[ root@mysql-node ~]# sed -i 's/3306/3307/g'/data/mysql3307/conf/my.cnf 
[ root@mysql-node ~]# sed -i 's/3306/3308/g'/data/mysql3308/conf/my.cnf   
[ root@mysql-node ~]# chown -R mysql.mysql /data/mysql*

2つのインスタンスを初期化します
[ root@mysql-node ~]# mysqld --defaults-file=/data/mysql3307/conf/my.cnf  --initialize-insecure  --user=mysql  
[ root@mysql-node ~]# mysqld --defaults-file=/data/mysql3308/conf/my.cnf  --initialize-insecure  --user=mysql 

次に、mysqldを起動します
[ root@mysql-node ~]# mysqld_safe --defaults-file=/data/mysql3307/conf/my.cnf &[root@mysql-node ~]# mysqld_safe --defaults-file=/data/mysql3308/conf/my.cnf &[root@mysql-node ~]# ps -ef|grep mysql
mysql    239961014:37?00:00:00/bin/sh /usr/local/mysql/bin/mysqld_safe --defaults-file=/data/mysql/conf/my.cnf
mysql    2474323996014:38?00:00:17/usr/local/mysql/bin/mysqld --defaults-file=/data/mysql/conf/my.cnf --basedir=/usr/local/mysql --datadir=/data/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/data/mysql/log/mysqld.err --open-files-limit=65535--pid-file=/data/mysql/tmp/mysqld.pid --socket=/data/mysql/tmp/mysqld.sock --port=3306
root     3047323727015:33 pts/000:00:00/bin/sh /usr/local/mysql/bin/mysqld_safe --defaults-file=/data/mysql3307/conf/my.cnf
mysql    31191304731715:33 pts/000:00:02/usr/local/mysql/bin/mysqld --defaults-file=/data/mysql3307/conf/my.cnf --basedir=/usr/local/mysql --datadir=/data/mysql3307/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql3307/log/mysqld.err --open-files-limit=65535--pid-file=/data/mysql3307/tmp/mysqld.pid --socket=/data/mysql3307/tmp/mysqld.sock --port=3307
root     3125423727015:33 pts/000:00:00/bin/sh /usr/local/mysql/bin/mysqld_safe --defaults-file=/data/mysql3308/conf/my.cnf
mysql    31977312543915:33 pts/000:00:02/usr/local/mysql/bin/mysqld --defaults-file=/data/mysql3308/conf/my.cnf --basedir=/usr/local/mysql --datadir=/data/mysql3308/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql3308/log/mysqld.err --open-files-limit=65535--pid-file=/data/mysql3308/tmp/mysqld.pid --socket=/data/mysql3308/tmp/mysqld.sock --port=3308
root     3204423727015:34 pts/000:00:00 grep --color=auto mysql

[ root@mysql-node ~]# lsof -i:3307
COMMAND   PID  USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
mysqld  31191 mysql   22u  IPv6 23144844      0t0  TCP *:opsession-prxy(LISTEN)[root@mysql-node ~]# lsof -i:3308
COMMAND   PID  USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
mysqld  31977 mysql   22u  IPv6 23145727      0t0  TCP *:tns-server(LISTEN)[root@mysql-node ~]# lsof -i:3306
COMMAND   PID  USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
mysqld  24743 mysql   23u  IPv6 23132988      0t0  TCP *:mysql(LISTEN)

ポート3307インスタンスにログインします,そしてパスワードを設定します
[ root@mysql-node ~]# mysql -S /data/mysql3307/tmp/mysqld.sock
............
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
Query OK,0 rows affected(0.11 sec)

mysql> flush privileges;
Query OK,0 rows affected(0.11 sec)

脱落,新しいパスワードでログインする
[ root@mysql-node ~]# mysql -uroot -S /data/mysql3307/tmp/mysqld.sock -p123456    
.............
mysql> 

同じ,ポート3308インスタンスにログインします,そしてパスワードを設定します
[ root@mysql-node ~]# mysql -S /data/mysql3308/tmp/mysqld.sock
...........
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
Query OK,0 rows affected(0.13 sec)

mysql> flush privileges;
Query OK,0 rows affected(0.03 sec)

脱落,新しいパスワードでログインする
[ root@mysql-node ~]# mysql -uroot -S /data/mysql3308/tmp/mysqld.sock -p123456
....................
mysql>==========================================3306,3307,3308の3つのポートインスタンスの起動コマンドは次のとおりです。:
mysqld_safe --defaults-file=/data/mysql/conf/my.cnf & 
mysqld_safe --defaults-file=/data/mysql3307/conf/my.cnf & 
mysqld_safe --defaults-file=/data/mysql3308/conf/my.cnf & 

ログインコマンドは:
mysql -uroot -S /data/mysql/tmp/mysqld.sock -p123456
mysql -uroot -S /data/mysql3307/tmp/mysqld.sock -p123456
mysql -uroot -S /data/mysql3308/tmp/mysqld.sock -p123456

mysqlマルチポートインスタンスのログインスクリプトを作成する

上記のマルチポートインスタンス構成後,ログインスクリプトを表示する:myin(スクリプト内のパスワードを自分のパスワードに変更するように注意してください)[root@mysql-node ~]# ll /usr/local/mysql/bin/myin 
- rwxrwxr-x 1 mysql mysql 161 Aug 222018/usr/local/mysql/bin/myin
[ root@mysql-node ~]# cat /usr/local/mysql/bin/myin
#! /bin/bash

p=$1
shift
mysql -h"127.0.0.1"-P"$p"--default-character-set=utf8mb4 --show-warnings -uroot -p'123456'-A --prompt="(\u@\p)[\d]> ""$@"

ログインしてみてください
[ mysql@mysql-node ~]# myin 3306
mysql:[Warning] Using a password on the command line interfacecan be insecure.
ERROR 1130(HY000): Host '127.0.0.1' is not allowed to connect to this MySQL server

これは、各ポートインスタンスのrootユーザーがlocalhostを許可されているためです。,127の代わりに.0.0.1,127用にもう1つ追加できます.0.0.1つのルートユーザー認証
または、myinスクリプトの127を変更します.0.0.1localhostに変更します

[ root@mysql-node ~]# sed -i 's/127.0.0.1/localhost/g'/usr/local/mysql/bin/myin
[ root@mysql-node ~]# cat /usr/local/mysql/bin/myin
#! /bin/bash

p=$1
shift
mysql -h"localhost"-P"$p"--default-character-set=utf8mb4 --show-warnings -uroot -p'123456'-A --prompt="(\u@\p)[\d]> ""$@"

これで、各インスタンスにログインできます,ログインコマンドは"myin port"

ポート3306インスタンスにログインします
[ root@mysql-node ~]# myin 3306
mysql:[Warning] Using a password on the command line interfacecan be insecure.
Welcome to the MySQL monitor.  Commands end with; or \g.
Your MySQL connection id is 27
Server version:8.0.12 MySQL Community Server - GPL

Copyright(c)2000,2018, 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.([email protected])[(none)]> 

ポート3307インスタンスにログインします
[ root@mysql-node ~]# myin 3307
mysql:[Warning] Using a password on the command line interfacecan be insecure.
Welcome to the MySQL monitor.  Commands end with; or \g.
Your MySQL connection id is 28
Server version:8.0.12 MySQL Community Server - GPL

Copyright(c)2000,2018, 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.([email protected])[(none)]> 

ポート3308インスタンスにログインします
[ root@mysql-node ~]# myin 3308
mysql:[Warning] Using a password on the command line interfacecan be insecure.
Welcome to the MySQL monitor.  Commands end with; or \g.
Your MySQL connection id is 29
Server version:8.0.12 MySQL Community Server - GPL

Copyright(c)2000,2018, 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.([email protected])[(none)]>

**実稼働環境のアイデア:同じビジネスライブラリを別のインスタンスに配置し、データベースを混在させないでください。単一マシンのマルチインスタンスは、マスタースレーブまたはマスターマスターの同期にすることも、複数のマシンと複数のインスタンス間のマスタースレーブまたはマスターマスターの同期にすることもできます。 ****
といった:
マシンAには、3310、3311、3312の3つのインスタンスがあります。
マシンBには、3310、3311、3312の3つのインスタンスがあります。
Cマシンには、3310、3311、3312の3つのインスタンスがあります。

次に、3台のマシンの対応する各ポートインスタンスは、マスタースレーブまたはマスターマスター同期(GTID、MGR)、1マスター2スレーブ、または3マスターモードです(マルチインスタンス環境では、ポート3306を使用しないことをお勧めします。そうしないと、ポート3306が頻繁に表示されます。いくつかの誤操作)

**4. Mysql8.0 **の使用中にいくつかのピットが踏まれました

1) ユーザーと権限を作成する
mysql8.0でのユーザーの作成と承認は以前と同じではありません。厳密に言えば、異なるとは言えません。より厳密であるとしか言えません。mysql8.0は最初にユーザーを作成する必要があります**(ユーザーを作成するときは、@を持参してください。そして、アドレスを指定し、この@!の後に付与許可が指定された場合のアドレスを指定します。指定しない場合、許可許可はエラーを報告します!)**そして許可の前にパスワードを設定します。

mysql> create user 'kevin'@'%' identified by '123456';
Query OK,0 rows affected(0.04 sec)

mysql> grant all privileges on *.* to 'kevin'@'%'with grant option;    
Query OK,0 rows affected(0.04 sec)

mysql> create user 'bobo'@'%' identified by '123456';     
Query OK,0 rows affected(0.06 sec)

mysql> grant all privileges on *.* to 'bobo'@'%'with grant option;
Query OK,0 rows affected(0.03 sec)

mysql> flush privileges;
Query OK,0 rows affected(0.04 sec)

mysql> select host,user,authentication_string from mysql.user;+-----------+------------------+------------------------------------------------------------------------+| host      | user             | authentication_string                                                  |+-----------+------------------+------------------------------------------------------------------------+|%| bobo             | $A$005$1VY")q?G6<^X@-6LsXrPt5C0TwlTuvHbaOa3sYF0DKViIGoRPuCF8AzwiFcim1  ||%| kevin            | $A$005$hy`U}ZB#R::rA8W0y2rmwgySqzv0rmR1eTeNDSaXfQPWIsrh7ytbVdi85       || localhost | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED || localhost | mysql.session    | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED || localhost | mysql.sys        | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED || localhost | root             | $A$005$/VO_y^7,]6;2qxggBLmJzhA0Qylu5/AHuRScZ/ykKedgZKh/6krOIzPs2       |+-----------+------------------+------------------------------------------------------------------------+

Mysql5.7以前のバージョンの直接認証方法を引き続き使用すると、エラーが報告されます。

mysql> grant all privileges on *.* to 'shibo'@'%' identified by '123456';
ERROR 1064(42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by '123456'' at line 1

2) Mysql8.0のデフォルトでは、ルートアカウントを使用してリモートでログインすることはありません!ルートアカウントはローカルでのみログインできます!

mysql> select host,user,authentication_string from mysql.user;+-----------+------------------+------------------------------------------------------------------------+| host      | user             | authentication_string                                                  |+-----------+------------------+------------------------------------------------------------------------+|%| bobo             | $A$005$1VY")q?G6<^X@-6LsXrPt5C0TwlTuvHbaOa3sYF0DKViIGoRPuCF8AzwiFcim1 ||%| kevin            | $A$005$hy`U}ZB#R::rA8W0y2rmwgySqzv0rmR1eTeNDSaXfQPWIsrh7ytbVdi85 |
| localhost | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | mysql.session    | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | mysql.sys        | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | root             | $A$005$/VO_y^7,]6;2qxggBLmJzhA0Qylu5/AHuRScZ/ykKedgZKh/6krOIzPs2 |
+-----------+------------------+------------------------------------------------------------------------+
6 rows in set (0.00 sec)

リモートでログインしたい場合,ルートアカウントの権限を更新する必要があります
mysql> update mysql.user set host='%' where user="root";
Query OK, 1 row affected (0.10 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> flush privileges;
Query OK, 0 rows affected (0.14 sec)

mysql> select host,user,authentication_string from mysql.user;
+-----------+------------------+------------------------------------------------------------------------+
| host      | user             | authentication_string                                                  |
+-----------+------------------+------------------------------------------------------------------------+
| %         | bobo             | $A$005$1VY")q?G6<^X@-6LsXrPt5C0TwlTuvHbaOa3sYF0DKViIGoRPuCF8AzwiFcim1  |
| %         | kevin            | $A$005$hy`U}ZB#R::rA8W0y2rmwgySqzv0rmR1eTeNDSaXfQPWIsrh7ytbVdi85       ||%| root             | $A$005$/VO_y^7,]6;2qxggBLmJzhA0Qylu5/AHuRScZ/ykKedgZKh/6krOIzPs2       || localhost | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED || localhost | mysql.session    | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED || localhost | mysql.sys        | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |+-----------+------------------+------------------------------------------------------------------------+6 rows inset(0.00 sec)

このようにして、rootアカウントを使用してmysql8.0データベースにリモートでログインできます。

3) ルートアカウントの権限を変更し、ルートアカウントがリモートでログインできるようにした後、Navicatを使用してmysqlにリモート接続すると、ポップアップエラーメッセージが表示されました。

これは、mysql8より前のバージョンの暗号化ルールがmysql_native_passwordであり、mysql8の後の暗号化ルールがcache_sha2_passwordであるため、問題を解決するには2つの方法があります。

  1. 1つは、navicatドライバーをアップグレードすることです。
  2. 1つは、mysqlユーザーログインパスワード暗号化ルールをmysql_native_passwordに復元することです。

ここでは、解決する2番目の方法を選択します。

# 暗号化ルールを変更する
mysql> ALTER USER 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;        
Query OK,0 rows affected(0.16 sec)

# ユーザーのパスワードを更新する
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
Query OK,0 rows affected(0.08 sec)

# 権限の更新
mysql> FLUSH PRIVILEGES;
Query OK,0 rows affected(0.03 sec)

このようにして問題は解決されます。

4) sqlyogリンク時の2058例外

1) sqlyogリンクを使用する場合、2058の例外が発生します。このとき、mysqlを変更し、コマンドラインからmysqlにログインして(パスワードの変更と同じように、変更したパスワードを使用します)、次のコマンドを実行する必要があります。
 mysql > ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
 passwordは、変更したパスワードです。次に、SQLyogで再接続します。接続は成功します、OK。

2) エラーが報告された場合:エラー1396(HY000): Operation ALTER USER failed for'root'@'localhost'次に、次のコマンドを使用します。
 mysql > ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';

5) デフォルトのエンコーディングを変更します

mysql8.0デフォルトのエンコード方法はutf8mb4であるため、使用時に変更する必要はありません。次のコマンドを使用して表示できます。
mysql > SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collation%';

utf8mb4などの他のエンコード方法を変更する必要がある場合は、次の方法を使用できます。
mysql構成ファイルを変更します.cnf,それを見つけたら、次の3つの部分に次のコンテンツを追加してください。
[ client]default-character-set= utf8mb4
[ mysql]default-character-set= utf8mb4
[ mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'

次に、mysqldサービスを再起動します,その中で:character_set_client(クライアントソースデータで使用される文字セット)character_set_connection(接続レイヤーの文字セット)character_set_database(現在選択されているデータベースのデフォルトの文字セット)character_set_results(クエリ結果の文字セット)character_set_server(デフォルトの内部操作文字セット)========================================
データベース接続パラメーター:
characterEncoding=utf8はutf8mb4として自動的に認識されます。または、このパラメーターを追加せずに自動的に検出できます。
自動再接続中=trueを追加する必要があります。

6) 一部のパラメータ設定クエリコマンド

# mysqlの最大接続数設定を照会する
mysql> show global variables like 'max_conn%';
mysql> SELECT @@MAX_CONNECTIONS AS 'Max Connections';

# リンクの最大数を表示する
mysql> show global status like 'Max_used_connections';

# 低速クエリログが有効になっているかどうか、およびログの場所を確認します
mysql> show variables like 'slow_query%';

# 遅いクエリログのタイムアウト記録時間を表示する
mysql> show variables like 'long_query_time';

# リンクの作成と現在進行中のリンクの数を表示します
mysql> show status like 'Threads%';

# 現在のデータベースリンクを表示
mysql> show processlist;

# データベース構成の表示
mysql> show variables like '%quer%';

Recommended Posts

Centos7はMySQL8.0をインストールします-手動
1.5Centos7をインストールする
Centos6はPython2.7.13をインストールします
Centos7.3はnginxをインストールします
CentOS7.2はMysql5.7.13をインストールします
CentOSはRedmineをインストールします
Centos7はPython3.6をインストールします。
CentOS7はMySQLをインストールします
Centos7インストールprotobuf
CentOS7はDockerをインストールします
CentOS7はGlusterFSをインストールします
CentOS7.4はZabbix3.4をインストールします
CentOS7はDockerをインストールします
CentOSはPython3.6をインストールします
VmwareはCentOS6をインストールします
centos7 install docker-ce 18.01.0
CentOS7.2はMariaDBをインストールします
CentOS7はHadoop3.0.0をインストールします
Centos7はPython2.7をインストールします
Centos7.6はseleniuをインストールします
Centos7はLAMP + PHPmyadminをインストールします
CentOSインストールmysql
CentOSはopenjdk1.8をインストールします
CentOSはPHPをインストールします
CentOS6はmist.ioをインストールします
Centos7はDockerをインストールします
CentOS7インストールmysql
centOsはrabbitMQをインストールします
CentOS7はMySQL5.6をインストールします
Centos7はNginxをインストールします
CentOS6.5はCDH5.13をインストールします
CentosはPython3をインストールします
centos7インストールドッカー
CentOSインストールjdk
centos7インストールnginx-rtmp
CentOS8はMySQL8.0をインストールします
Centos6.3はKVMをインストールします
CentOSはPostgreSQL9.1をインストールします
CentOS7はmysql8をインストールします
CentOS7はJava1.8をインストールします
CentOS7はGitlabをインストールします
CentOS7はMySQL8をインストールします
CentOS7はJava1.8をインストールします
Centos8はDockerをインストールします
CentOS6.8はpython2.7をインストールします
CentOSインストールnodejs8
CentOS6.5はGNS3をインストールします
centos7.5インストールmysql5.7.17
CentOS7はKubernetes1.16.3をインストールします
VirtualBoxインストールcentos7
centos7インストールランプ
centos7をインストールして接続します
Centos7にDockerをインストールする
Centos7インストールdocker-18.xオリジナル
Centos7.4はLNMPをインストールします
Centos7YUMはMariaDB10.0をインストールします
CentOS8インストールZABBIX4.4ガイド
Centos7にJavaをインストールする
CentOS6.5オフラインインストールMySQL5.6.26
セントスにphpをインストールする
CentosはMYSQL8.Xチュートリアルをインストールします