centos7 への MySQL バージョン 5.7.24 のインストール、および追加、削除、変更、確認に関する知識

MySQL インストール 5.7.24

www.mysql.com www.oracle.com

http://dev.mysql.com/doc/refman/5.7/en/linux-installation.html

Oracle MySQL、MariaDB、Perconaサーバー

プラットフォーム:
バイナリ rpm Yum リポジトリ mysql57-community-release-el7-9.noarch.rpm
バイナリ プリコンパイル済み汎用 mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz
ソース コード パッケージ インストール ソース コード mysql-5.7 を選択します。 19.tar.gz
ここに画像の説明を挿入します

インストール環境
[root@mysql1 ~]# rpm -q mariadb-server
package mariadb-server がインストールされていません

[root@mysql1 ~]# sed -ri '/^SELINUX=/c\SELINUX=disabled' /etc/selinux/config
[root@mysql1 ~]# setenforce 0

方法 1: バイナリ rpm

     http://dev.mysql.com/doc/refman/5.7/en/linux-installation-yum-repo.html

        wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

        rpm -ivh  mysql57-community-release-el7-9.noarch.rpm
        yum -y install mysql-server
        mysql -uroot -p'123'
        show databases;

        [root@tianyun Downloads]# md5sum mysql57-community-release-el7-9.noarch.rpm
        [root@tianyun Downloads]# yum -y install mysql57-community-release-el7-9.noarch.rpm
        [root@git ~]# yum repolist
          Loaded plugins: fastestmirror
          Loading mirror speeds from cached hostfile
          repo id                                                                     repo name                               status
          base/7/x86_64                                                       CentOS-7 - Base                         10,019
          extras/7/x86_64                                                      CentOS-7 - Extras                          321
          mysql-connectors-community/x86_64              MySQL Connectors Community                  74
          mysql-tools-community/x86_64                           MySQL Tools Community                       74
          mysql57-community/x86_64                             MySQL 5.7 Community Server                 307
          updates/7/x86_64                                                  CentOS-7 - Updates                         628
          repolist: 11,423

        [root@git ~]# yum repolist all | grep mysql
        mysql-connectors-community/x86_64 MySQL Connectors Community     enabled:     74
        mysql-connectors-community-source MySQL Connectors Community - S disabled
        mysql-tools-community/x86_64      MySQL Tools Community               enabled:             74
        mysql-tools-community-source      MySQL Tools Community - Source disabled
        mysql-tools-preview/x86_64        MySQL Tools Preview                    disabled
        mysql-tools-preview-source           MySQL Tools Preview - Source   disabled
        mysql55-community/x86_64          MySQL 5.5 Community Server     disabled
        mysql55-community-source          MySQL 5.5 Community Server - S disabled
        mysql56-community/x86_64          MySQL 5.6 Community Server     disabled
        mysql56-community-source          MySQL 5.6 Community Server - S disabled
        mysql57-community/x86_64          MySQL 5.7 Community Server     enabled:          307
        mysql57-community-source          MySQL 5.7 Community Server - S disabled
        mysql80-community/x86_64          MySQL 8.0 Community Server     disabled
        mysql80-community-source          MySQL 8.0 Community Server - S disabled

       [root@git ~]# yum-config-manager --enable mysql56-community
       将此56的MySQL设置成开机自启动
       报错解决方式:
                   -bash: yum-config-manager: command not found
                   这个是因为系统默认没有安装这个命令,这个命令在yum-utils 包里。
                    yum -y install yum-utils
       
       [root@git ~]# yum repolist enabled | grep mysql
                mysql-connectors-community/x86_64       MySQL Connectors Community            74
                mysql-tools-community/x86_64            MySQL Tools Community                 74
                mysql56-community/x86_64                MySQL 5.6 Community Server           429
                mysql57-community/x86_64                MySQL 5.7 Community Server           307

        [root@mysql1 ~]# yum -y install mysql-community-server
        [root@mysql1 ~]# systemctl start mysqld                                 //第一次启动先初始数据库
        [root@mysql1 ~]# systemctl enable mysqld
        [root@mysql1 ~]# ls /var/lib/mysql
            auto.cnf            client-key.pem      ib_logfile1         mysql.sock.lock                  server-cert.pem
            ca-key.pem       ib_buffer_pool       ibtmp1             performance_schema          server-key.pem
            ca.pem             ibdata1                  mysql               private_key.pem                 sys
            client-cert.pem  ib_logfile0            mysql.sock          public_key.pem

 
        [root@mysql ~]# grep "password" /var/log/mysqld.log 
                2019-01-15T06:45:28.734665Z 1 [Note] A temporary password is generated for root@localhost: VFISQo_dt7Rt
                2019-01-15T06:47:41.765992Z 3 [Note] Access denied for user 'root'@'localhost' (using password: YES)
        [root@mysql ~]# mysql -uroot -p'VFISQo_dt7Rt'
                mysql: [Warning] Using a password on the command line interface can be insecure.
                Welcome to the MySQL monitor.  Commands end with ; or \g.
                Your MySQL connection id is 5
                Server version: 5.7.24 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.

                mysql> 
              
                 mysql>   alter  user  'root'@'localhost' identified by "1qaz2WSX#";      修改密码
                 Query OK, 1 row affected (0.00 sec)
                 mysql> \q
                 Bye
                 
                 
                 
                 mysql> show databases;
                            +--------------------+
                            | Database           |
                            +--------------------+
                            | information_schema |
                            | mysql              |
                            | performance_schema |
                            | sys                |
                            +--------------------+
                            4 rows in set (0.01 sec)

                            mysql>

方法 2: ソース コードのコンパイルとインストール

ここに画像の説明を挿入します

URL: https://dev.mysql.com/downloads/mysql/5.7.html#downloads ------->コミュニティ---->Mysql コミュニティ サーバー ----->MySQL コミュニティ サーバー 5.7
mysql 5.7 .24 tar パッケージ: https://dev.mysql.com/downloads/file/?id=481075
パッケージ全体 https://dev.mysql.com/downloads/file/?id=481150
ここに画像の説明を挿入します

1. 编译安装
[root@mysql1 ~]# yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make

cmake:
[root@mysql1 ~]# yum -y install cmake     跨平台安装工具

boost:
[root@mysql1 ~]# wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz    c++库

wget http://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz

mysql:
[root@mysql1 ~]# groupadd mysql
[root@mysql1 ~]# useradd -r -g mysql -s /bin/false mysql
[root@mysql1 ~]# tar xvf mysql-5.7.19.tar.gz
[root@mysql1 ~]# cd mysql-5.7.19
[root@mysql1 mysql-5.7.19]# pwd
/root/mysql-5.7.19
解压boost文件
[root@mysql3 ~]# tar xf /root/boost_1_59_0.tar.gz
[[email protected] ~]# cmake . \
-DWITH_BOOST=boost_1_59_0/ \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DSYSCONFDIR=/etc \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DINSTALL_MANDIR=/usr/share/man \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1

下面这个是一定会遇到的,只需加上下面的命令就可以了
提示:boost也可以使用如下指令自动下载
-DDOWNLOAD_BOOST=1

[root@mysql1 ~]# make
[root@mysql1 ~]# make install

2. 初始化
[root@mysql1 local]# cd mysql
[root@mysql1 mysql]# mkdir mysql-files
[root@mysql1 mysql]# chown -R mysql.mysql .
[root@mysql1 mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
[root@mysql1 mysql]# bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data

建立MySQL配置文件my.cnf
[root@mysql1 mysql]# vim /etc/my.cnf
[mysqld]sys
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data

启动MySQL

 ***centos6***
 
使用centos6 mysql.server脚本(system V)
[root@mysql1 mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@mysql1 mysql]# chkconfig --add mysqld
[root@mysql1 mysql]# chkconfig mysqld on
[root@mysql1 mysql]# service mysqld start
[root@mysql1 mysql]# service mysqld start
Starting MySQL.Logging to '/usr/local/mysql/data/mysql2.err'.
 SUCCESS! 
[root@mysql1 mysql]# ps aux |grep mysqld
mysql    76 pts/0  Sl   14:38   0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=mysql2.err --pid-file=/usr/local/mysql/data/mysql2.pid

报错1:
启动的时候会遇到default-character-set=utf8mb4报错,将下面这个写入到/etc/my.cnf
default-character-set=utf8mb4

报错2:
root@MyServer:~# service mysql start
Starting MySQL
..The server quit without updating PID file (/usr/local/mysql/data/MyServer.pid). ... failed!
错误解决排查思路:
1.可能是/usr/local/mysql/data/rekfan.pid文件没有写的权限
2.可能进程里已经存在mysql进程
3.实在不行就重新初始化


登陆数据库:
[root@MySQL ~]#  /usr/local/mysql/bin/mysql -uroot -p'zijz,Bsqe2<A'
        mysql: [Warning] Using a password on the command line interface can be insecure.
        Welcome to the MySQL monitor.  Commands end with ; or \g.
        Your MySQL connection id is 6
        Server version: 5.7.24

        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.

        mysql> show databases;
        ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
        mysql> alter user 'root'@'localhost' identified by '123' ;
        Query OK, 0 rows affected (0.00 sec)

        mysql> \q
        Bye

PATH[可選択]
[root@mysql2 mysql]# mysql
-bash: mysql: コマンドが見つかりません
[root@mysql2 mysql]# /usr/local/mysql/bin/mysql
[root@mysql1 mysql]# echo “export PATH= $PATH:/usr/local/mysql/bin” >> /etc/profile
[root@mysql1 mysql]# source /etc/profile
[root@mysql1 mysql]# mysqladmin -uroot -p'>>e4KKcol6i1' パスワード '( TianYunYang123)'

mysql のインストール時にこの問題が発生する場合があります。
ここに画像の説明を挿入します
この問題が発生した場合は、データベースがすでに初期化されており、再初期化する必要があることを意味します。

再初期化が必要な場合...[オプション]
[root@mysql1 ~]# killall mysqld
[root@mysql1 ~]# rm -rf /usr/local/mysql/data
[root@mysql1 mysql]# bin/mysqld --initialize - -user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
[root@mysql1 mysql]# bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data

RPM または Yum:
datadir: /var/lib/mysql
ソース パッケージとプリコンパイル:
basedir: datadir:
/usr/local/mysql /usr/local/mysql/data

コンパイルエラー

cmake が mysql をコンパイルすると、次のエラーが発生します。

ここに画像の説明を挿入します
解決:

ncurses-devel をインストールします: yum -y install ncurses-devel (Debian/Ubuntu は libncurses5-dev をインストールする必要があります).
CMakeCache.txt を削除します (ファイルは mysql 解凍ディレクトリにあります)
と再コンパイルします。
原文: https://blog. csdn.net /zsl10/article/details/51824091

MySQLのパスワードを忘れた場合

MySQL 5.7.5 以前:


            [root@mysql1 ~]# vim /etc/my.cnf					 
            [mysqld]
            skip-grant-tables                           跳过密码验证

            [root@mysql1 ~]# service mysqld restart
            [root@mysql1 ~]# mysql
            mysql> update mysql.user set password=password("123") where user="root" and host="localhost";   
            mysql> flush privileges;
            mysql> \q

            [root@mysql1 ~]# vim /etc/my.cnf						 
            [mysqld]
            #skip-grant-table
            [root@mysql1 ~]# service mysqld restart

MySQL 5.7.6 以降:


           [root@slave1 ~]# vim /etc/my.cnf
            [mysqld]
            skip-grant-tables
            [root@slave1 ~]# systemctl restart mysqld

'
関連する操作を実行するためにデータベースへの入力を開始します。
新しいパスワードを追加した後、データベースを終了します
ここに画像の説明を挿入します
[root@slave1 ~]# vim /etc/my.cnf
追加した行を削除します
[root@slave1 ~]# systemctl restart mysqld

mysqlのrootパスワードを変更する

update mysql.user set authentication_string=password('123') where user='root';     键值(跳过密码验证后,重置数据库密码,建议大小写数字符号),有可能不成功是密码规则不符
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
错误1819 (HY000):您的密码不满足当前的策略要求

alter user user() identified by "1qaz2WSX#";                        修改数据库密码(符合密码规则)

flush privileges;           重新加载特权



修改完 密码后记得进入/etc/my.cnf 下去添加注释# 然后重启服务后,重新进入数据库。

mysqladmin -u root -p')vl*hfrZg3-t' password 'Qianfeng123!'   通过mysqladmin修改数据库密码

データベースの追加、削除、変更、クエリ:

構文: CREATE DATABASE データベース名。

データベースの命名規則:
大文字と小文字を区別
、一意、
create select などのキーワードは使用不可、
数字のみは使用不可

データベースを使用してデータを挿入します。

mysql> テーブルの作成test1( test1 是数据库里的表
-> tinyint_test tinyint, tinyintデータベース类型
-> int_test int
-> );
mysql> 説明 test1;
±---------------±----------±-----±----±--------±--- ---+
| フィールド | タイプ | ヌル | キー | デフォルト | 番外編 |
±---------------±----------±-----±----±--------±--- ---+
| tinyint_test | tinyint(4) | はい | | NULL | |
| int_test | int(11) | はい | | NULL | |
±---------------±----------±-----±----±--------±--- ---+
セット内の 2 行 (0.01 秒)
mysql> test1 値 (111,111) に挿入します。输受信值
Query OK、1 行が影響を受けました (0.09 秒)
mysql> insert into test1(tinyint_test) names(128);
エラー 1264 (22003): 行 1 の列 'tinyint_test' の範囲外の値がこのタイプの値を超えています
mysql> insert into test1(int_test) names(2147483647);
クエリ OK、1 行が影響を受けます (0.05 秒)

删除表和库:
表:

テーブルの作成 create table
テーブル構造の表示 desc table、show create table テーブル
整合性制約
テーブルの変更 テーブルの変更 テーブル
のコピー create table ...
テーブルの削除 drop table

図書館

データベースの表示: SHOW DATABASES;
データベースの選択:
SELECT database();
USE データベース名
use zhaohan
データベースの削除: DROP DATABASE データベース名;
mysql> ドロップ データベース zhaohan;

查询:

単純なクエリ
SELECT * FROM 従業員 5;
SELECT 名前、給与、dep_id FROM 従業員 5;

DISTINCT
SELECT post FROMemployee5;
SELECT DISTINCT post FROMemployee5; の重複を避ける 注
: DISTINCT は部分的に使用できず、通常は特定のフィールドにのみ使用されます。

四則演算によるクエリ
SELECT 名前, 給与, 給与14 FROM 従業員 5;
SELECT 名前, 給与, 給与
14 AS Annual_salary FROM 従業員 5;
SELECT 名前, 給与, 給与*14 年次_給与 FROM 従業員 5;

表示形式を定義する
CONCAT() 関数を使用して、文字列
SELECT CONCAT(name, ' 年間給与: ',給与*14) AS Annual_salary FROMemployee5; を接続します。

二、单条件查询

単一条件クエリ
SELECT name,post
FROMemployee5
WHERE post='hr';

select name,post fromemployee5 where post='hr';

複数条件クエリ
SELECT name,salary
FROMemployee5
WHERE post='hr' AND給与>10000;

名前、従業員 5 の給与ポストを選択します (post='hr' および給与 >1000)。

关键字 BETWEEN AND
SELECT 名前、給与 FROM 従業員 5
WHERE 給与 BETWEEN 5000 AND 15000;

従業員 5 から名前、給与を選択します。
給与は 5000 と 15000 の間ではありません。

従業員 5 の名前、給与を選択します。給与は 5000 ~ 15000 の間ではありません。

关键字 IS NULL
SELECT name,job_description FROMemployee5
WHERE job_description IS NULL;

SELECT name,job_description FROMemployee5
WHERE job_description IS NOT NULL;

SELECT 名前、ジョブ説明 FROM 従業員 5
WHERE ジョブ説明 = ";

キーワード IN セットクエリ
SELECT 名前、給与 FROM 従業員 5
WHERE 給与=4000 OR 給与=5000 OR 給与=6000 OR 給与=9000;

SELECT 名前、給与 FROM 従業員5
WHERE 給与 IN (4000,5000,6000,9000) ;


(4000,5000,6000,9000) ; 給与が入っていない従業員から名前、給与を選択します。

キーワード LIKE ファジー クエリ
ワイルドカード文字 '%'
SELECT * FROM 従業員 5
WHERE name LIKE 'al%';
ワイルドカード文字 ' '
SELECT * FROM 従業員 5
WHERE 名前 LIKE 'al
__';

3. クエリソート
単一列で
ソート SELECT * FROM 従業員5 ORDER BY 給与;
SELECT 名前, 給与 従業員 FROM5 ORDER BY 給与 ASC; 低い順に 1 回ソート
SELECT 名前, 給与 FROM 従業員 5 ORDER BY 給与 DESC; 高い順に 1 回ソート低い

複数の列で並べ替えます。
SELECT * FROM 従業員 5
ORDER BY 採用日 DESC、
給与 ASC;

MySQL で一般的に使用されるストレージ エンジンのストレージ

端的に言えば、エンジンとは、データの保存方法、保存されたデータのインデックス付け方法、データの更新とクエリの方法などのテクノロジの実装です。リレーショナル データベースではデータがテーブルの形式で格納されるため、ストレージ エンジンはテーブル タイプ (つまり、このテーブルのストレージと操作のタイプ) とも呼ばれます。ストレージ エンジンは、次のようなデータベースに 1 つだけあります。 Oracle と SQL Server、および
すべてのデータ ストレージ管理メカニズムは同じです。MySql データベースは、さまざまなストレージ エンジンを提供します。
ユーザーは、さまざまなニーズに応じてデータ テーブル用にさまざまなストレージ エンジンを選択でき、また、独自のニーズに応じて独自のストレージ エンジンを作成することもできます。

MyISAMストレージエンジン

このストレージ エンジンはトランザクションや外部キーをサポートしていないため、アクセス速度が速くなります。したがって、このストレージ エンジンは、トランザクションの整合性を必要とせず、主にアクセスベースのアプリケーションに適しています。

InnoDB ストレージ エンジン

このストレージ エンジンはトランザクションに利点があるため、つまり、コミット、ロールバック、クラッシュ回復機能などのトランザクション機能をサポートしているため、MyISAM ストレージ エンジンよりも多くのディスク領域を占有します。
したがって、頻繁な更新および削除操作が必要であり、高いトランザクション整合性要件が必要であり、同時実行制御を実装する必要がある場合は、これを選択することをお勧めします。テーブルとライブラリをバックアップできます。

メモリ

MEMORY ストレージ エンジンはデータをメモリに保存するため、アクセス速度は最速ですが、セキュリティは保証されません。一時テーブルや高速アクセスが必要な一時テーブルに適しています。バックアップできず、企業内では使用されません。

ブラックホール

ブラック ホール ストレージ エンジンは、プライマリおよびセカンダリ レプリケーションの配布マスター ライブラリに適用できます。

精讲:

1.InnoDB
mysql バージョン 5.5 以降、innodb が mysql のデフォルトのストレージ エンジンです。
• 優れた災害復旧
トランザクションのサポート デフォルトのトランザクション分離レベルは反復読み取りであり、トランザクション制御はマルチバージョン同時実行制御によって実現されます。
• 行レベルのロックを使用する
• InnoDB エンジンのテーブルの場合、データの物理的な編成形式はクラスター テーブル (クラスター テーブル) であり、データは主キーによって編成されます。データはまとめられており、データは主キーの順に配置されています。データ テーブルのもう 1 つの一般的な形式は非クラスター化テーブルです。このテーブルでは、インデックスは順序付けされていますが、データは順序付けされていません。
• バッファ管理を実装しました。これはインデックスをバッファするだけでなくデータもバッファし、ハッシュ インデックスを自動的に作成してデータ取得を高速化します。対照的に、MyISAM はインデックスのみをキャッシュします。
• 外部キーをサポートします。
• ホットバックアップをサポート

2.MyISAM引擎
• ロックを使用して、オペレーティング システム上でコピー、バックアップ、および移行を実現できます。
• テーブルレベルのロックを使用すると、同時実行性が低下します。
• 全文検索のサポート (MySQL InonoDB は 5.6 以降でも全文検索をサポートします)。
• ホストがダウンすると、MyISAM テーブルが損傷しやすく、災害復旧が不十分になります。
• トランザクションはサポートされません。
• インデックスのみがキャッシュされ、データ キャッシュはオペレーティング システムのバッファを使用して実装されます。システムコールが多すぎて非効率になる可能性があります。
• データはコンパクトに保存されるため、インデックスが小さくなり、フル テーブル スキャンのパフォーマンスが向上します。

3.MEMORY引擎
• MEMORY ストレージ エンジンは「メモリ内」テーブルを提供しますが、トランザクションや外部キーはサポートしません。
• メモリテーブル(メモリエンジン)を使用すると、データアクセスの速度が大幅に向上し、頻繁にアクセスされるデータ、計算結果、統計値、中間結果をキャッシュして再構築することができますが、次のような欠点もあります。
• テーブル レベルのロックが使用されている メモリ アクセスは高速ですが、読み取りと書き込みが頻繁に発生すると、テーブル レベルのロックがボトルネックになる可能性があります。
• 固定サイズの行のみがサポートされます。VARCHAR 型フィールドは固定長 CHAR 型として格納されるため、領域が無駄になります。
• TEXT フィールドと BLOB フィールドはサポートされていません。一部のクエリで一時テーブル (MEMORY ストレージ エンジンも使用) を使用する必要がある場合、テーブルに TEXT フィールドと BLOB フィールドがあると、それらはディスク ベースの MyISAM テーブルに変換され、パフォーマンスが大幅に低下します。
• メモリ リソースのコストが高いため、一般に大きすぎるメモリ テーブルをセットアップすることは推奨されません。メモリ テーブルがいっぱいになると、「Thetable'table_name'is full」のようなエラーが MySQL エラー ログに記録されます。エラーを回避するには、データをクリアするか、メモリ テーブル パラメータを調整します。
• サーバーを再起動するとデータが失われます。

4.ARCHIVE引擎
• ARCHIVE ストレージ エンジンは、企業内で大量の実行データを保存するために設計されたストレージ エンジンです。ARCHIVE エンジンは、zlib ロスレス データ圧縮を使用して、データが圧縮されたアーカイブ テーブルに保存されます。データが挿入されると、データは圧縮されます。
• INSERT と SELECT のみをサポートし、自動インクリメントキーとそれらのインデックスをサポートします。その他のインデックスはサポートしません。ログ記録やユーザー行動分析に適しており、UPDATE、DELETE、インデックス付きデータは必要ありません。

認可:

远程连接MySQL
例:
mysql -h192.168.5.240 -P 3306 -u root -p123 mysql -e 'select user,host from user'
-h ホスト名を指定します [デフォルトは localhost]
-P MySQL サーバー ポート [デフォルト 3306]
-uユーザー名を指定します [デフォルトの root]
-p ログイン パスワードを指定します [デフォルトは空のパスワード]
ここで、mysql は指定されたログイン データベースです
-e SQL ステートメントに接続します

許可構文形式:

ライブラリ名.テーブル名に対する権限リストを「ユーザー名」@「クライアントホスト」に付与します [オプションパラメータを使用した「パスワード」で識別されます];

==権限リスト all すべての権限(認可権限を除く)
select,update

==データベース.テーブル名.すべてのライブラリの下のすべてのテーブルグローバル レベル
web.* Web ライブラリの下のすべてのテーブルデータベース レベル
web.stu_info Web ライブラリの下の stu_info テーブルテーブル レベル
SELECT (col1), INSERT (col1,col2) ON mydb .mytbl 列レベル

==クライアントホスト% すべてのホスト
192.168.2.% 192.168.2.0 ネットワークセグメント内のすべてのホスト
192.168.2.168 指定されたホスト
localhost 指定されたホスト

==with_option パラメータ
GRANT OPTION: 認可オプション
MAX_QUERIES_PER_HOUR: 1 時間あたりに実行できるクエリの数を定義
MAX_UPDATES_PER_HOUR: 1 時間あたりに実行できる更新の数を定義 MAX_CONNECTIONS_PER_HOUR: 1 時間あたりに
確立できる接続の数を定義 MAX_USER_CONNECTIONS
: 1 人のユーザーが同時に確立できる接続の数を定義します

承認された権限を表示
SHOW GRANTS\G
SHOW GRANTS FOR admin1@'%'\G

権限をリサイクルするためのREVOKE
構文:
REVOKE 権限リスト ON データベース名 FROM ユーザー名@'クライアント ホスト'

例:
REVOKE DELETE ON . FROM admin1@'%'; //一部の権限を再利用
REVOKE ALL PRIVILEGES ON . FROM admin2@'%'; //すべての権限を再利用
REVOKE ALL PRIVILEGES,GRANT OPTION ON . FROM 'admin2'@'% ';

おすすめ

転載: blog.csdn.net/weixin_42602433/article/details/86505424