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'@'% ';