1.1 MySQLのインストールと基本的な設定(CentOSの7.3)
インストールリファレンスURL: https://www.cnblogs.com/jorzy/p/8455519.html
1は、システムがインストールされているかどうかをMySQLサービスを表示するには:ここでは2つの方法があります
ます。rpm -qa | grepのmysqlの
yumのリストは、インストール| grepのmysqlの
2、インストールMySQLはその依存関係を削除した場合
yumを-y削除mysqlの-libs.x86_64
YUMの3、ダウンロードmysql57-コミュニティリリースel7-8.noarch.rpmソース
wgetのhttp://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
4、インストールmysql57-コミュニティリリースel7-8.noarch.rpm
RPM -ivh mysql57-コミュニティリリースel7-8.noarch.rpm
インストール後は、次の2つのパッケージを与えます:
mysqlの-community.repo
のmysql-コミュニティsource.repo
5、インストールMySQLは、最終的には、Yのすべての方法を、それを促しました
YUMのMySQLサーバをインストールします
mysqlのライブラリをインストールし、ファイルをインクルードするために必要な6、
YUMのmysql-develのインストール-y
7、初期パスワードのMySQLを取得します
サービスが開始してmysqld
grepの「パスワード」/var/log/mysqld.log
8、mysqlの管理一般的に使用されるコマンド
systemctlステータスmysqldは
mysqldを開始systemctl
systemctl停止mysqldを
9、ブーツ
mysqldを有効systemctl
systemctlデーモンリロード
デフォルトのrootユーザのパスワードが空である10、MySQLのインストールが成功した後、あなたが直接ログインすることができます
-p-uroot-のMySQL
のmysqladmin -u rootパスワードの設定パスワードを"1" #rootユーザ:1
のMySQL-uroot -パスワードの必須のログインパスワードを設定した後のP1#
1.2 MySQLのデフォルトの文字セットとエンジンを変更
1. インストールは、MySQLの外部キーを使用してテーブルを作成し、エンジンがデフォルトしないため失敗しました。
2. へのMySQLのデフォルトの文字セットにはないため、挿入の中国は、文字化けしました
「は文字%」のような変数を示し;#ビューMySQLのデフォルトの文字セット
3. ソリューションは、変更することですMySQLの設定ファイルを vimのな/etc/my.cnf
な/etc/my.cnfのVim #その内容以下の内容が追加された [mysqldを] デフォルト -storage-ENGINE = INNODB DEFAULT_CHARACTER_SET = UTF8 character_set_server = UTF8 [mysqld_safeを】 デフォルト -character-SET = UTF8 [クライアント] デフォルト -character- = SET UTF8 [mysql.serverの] デフォルト -character-SET = UTF8 [MySQLの] デフォルト -character-SET = UTF8
4.顔質問:データベースのストレージエンジンは何を使用されていますか?違いはありますか?
1.共通するのは、MyISAMテーブルとInnoDBのです。
2. InnoDBは:、外部キー制約をサポートするトランザクションをサポートしています。インデックスは、インデックスを参照することなく、個別に処理されます。
3. のMyISAM:外部キー制約をサポートしていない、それはトランザクションをサポートしていない、データのインポート大量の、サイドエッジデータの索引付けに挿入されます。
効率を向上させるために、インデックスを無効にする必要がありますので、インデックスがフルインポート後に開かれました
1.3 MySQLは、ユーザおよび権限を作成します
ユーザーを作成します。1.
1. コマンド : CREATE USER 'username'@'host' IDENTIFIED BY 'password';
1、ユーザ名:ユーザ名、作成する
2を、ホスト:それは、ユーザーのローカルホストにローカルで利用可能な場合、ユーザーが任意のリモートホストからログインすることができますしたい場合、ユーザがどのホストにログオンできる指定することを、、、ワイルドカード%使用することができます
3、パスワードを:ユーザのログインパスワードは、パスワードを空にすることができ、空の場合、ユーザーはパスワードサーバなしでログインすることができます
2、例えば
。1、 'USERをCREATE トム ' @ ' localhostの '123456' BY IDENTIFIED;#トムは、ローカルホストからのログインを許可
2、USER 'を作成ジャック ' @ ' 1.1.1.100 ' IDENTIFIED BY '123456';#ジャック1.1.1.100からホストを可能にしますログ
3は、USER「を作成飛ぶ」@「%を#任意のホストのハエからのログインを許可;」IDENTIFIED BY「が123456」を
MySQLの1.1.1.100から4、MySQLの-h 1.1.1.3 -P 3306 -uジャック-p123456#ジャックログイン
5、更新mysql.userセットauthentication_string = PASSWORD( '2016 @ Chnsys')ユーザー= 'opwf';#パスワード変更
2.認証
1. 命令 : GRANTの 権限を ON データベース名。テーブル名 TO「ユーザ名」@「ホスト」
1、特権:ユーザーの操作権限、などSELECT、INSERT、UPDATE、など、ALLを使用する権限を付与したい場合は
2を、データベース名:データベース名
3、テーブル名:テーブル名は、すべてのデータベースとテーブルをユーザーに付与したい場合*利用できるそれぞれの操作権限は*として表されます。*
2.例
1、GRANT SELECT、 INSERT ONの TESTDB。学生 TO 'トム' @ '%';#認可トムの問い合わせやTESTDBデータベースのパーミッションの挿入
2、GRANT ALL ON *。* TO ' ジャック ' @ ' % ';#認可ジャックすべてのデータベースについて、すべてのテーブルのすべてのパーミッション
3、閲覧権限
1は、「トム」@「localhost」のための助成金を示し;#表示トム・ユーザー権限は、ホスト1.1.1.100に
2、根のための助成金を示し;#ビューrootユーザ権限
4、REVOKE権限
1、REVOKEすべてON * * 'トム' @ '%' FROM ;.#トムは、すべてのデータベース、すべてのテーブル、すべての権限を取り消します
#1、ユーザーの作成 ユーザーの作成' MUPを' @ ' %'で識別される' mup_yiducloud ' ; #2、MUPデータベース操作する権限付与された助成金MUPユーザー GRANT ALL ONのMUP * TOを。' MUPを' @ ' %' ; フラッシュ権限; ホスト、ユーザーSELECT からmysql.user; #。3、ユーザーが削除 = mysql.userはどこのユーザーから、削除を「MUP 」 とホスト= 「localhost」を、 mysql.userユーザーから削除 = 「MUP 」; #4、修改ルート密码 更新mysql.userセットauthentication_string =パスワード(' mysqlRootPwd ')ここで、ユーザ= ' ルート' とホスト= ' ローカルホスト' ;
1.4 MySQLの一般的なエラー
1、ERROR 1819(HY000):あなたのパスワードは、現在のポリシー要件を満たしていません
#MySQLの-u#ログイン-pルート #MySQLの> SETは、株式会社無料validate_password_policy = 0参加し、最低レベルに#パスワード強度 #のMySQLを> SET、株式会社参加無料validate_password_length = 4;#パスワードは4の最小長ができます #MySQLを>フラッシュ権限;#更新承認テーブル、テイク効果
2、ERROR 1044(42000):データベース 'BSP' へのアクセスは、ユーザーのために拒否された 'ルート' @ 'localhost' の
参考住所:https://blog.csdn.net/slovyz/article/details/52182283
1.与えられた理由
1.実際には、スキップ-名前解決がある基本的にmy.cnfのファイルので、このパラメータは、ホスト名ログインまたはそうでなければ解決できないパラメータを引き起こすことを指摘しておかなければ、
2だから、ルートと一致するように時間がかかることはありません、すべてのユーザーにログインします@ 'localhostの'、または127.0.0.1または:: 1が、彼はルートを歩き続け@ '%';
2、ソリューション
#1、各モードでのrootユーザーが付与権限があるかどうかを確認する のMySQL> SELECT Grant_priv からユーザーのホスト= 「127.0.0.1を」; + ------------ + | Grant_priv | + - + ----------- | N | + ----------------------- + 1行。で SET(0.00 秒) のMySQL > SELECT Grant_priv からユーザWHEREホスト= ' ローカルホスト' ; + ----------------------- + | Grant_priv | + ----------------------- + | N | + ----------------------- + 。1行で SET(0.01 秒) #2、MySQLサービスを再起動せず、唯一のログイン時に-hパラメータを追加する必要があります (A)は/ usr / local / MySQLの/ binに/ MySQLの-uroot - p123456 - Hローカルホスト (B)は/ usr / local / MySQLの/ binに/ MySQLの-uroot - p123456 -h127.0.0.1 #3、ユーザが変更。許可許可許可持つことを許さ MySQLの>を更新ユーザーSET Grant_priv = ' Y ' WHEREホスト= ' 127.0.0.1 ' ; MySQLの >ユーザーの更新SET Grant_priv = ' Y 'ホスト= ' localhostの' ; MySQLの > フラッシュ権限; #。4、その後、動作、再びrootでログイン終了
3、ERROR 1045(28000):(パスワードを使用:YES)にアクセスが拒否されたユーザーのために 'opwf' @ 'localhost' の
参考住所: https://www.cnblogs.com/bk7788/p/6388562.html
1.与えられた理由
1.一般的な考え方は、ユーザーアカウント名が空白で、mysqlは最初にマッチします、その後、プロンプト間違ったパスワードを持って、匿名ユーザーを削除し、FLUSHの実行権限を持っているということです。
ユーザー= '' mysql.user。DELETE FROM。
FLUSH PRIVILEGES