MariaDBはデフォルトでMySQLのブランチであるCentOSにインストールされますが、必要に応じてMySQLをシステムにインストールする必要があり、MariaDBはインストールの完了後に直接上書きできます。
1.mysqlをインストールします
(yumソースにはmysql-serverがないため、ダウンロードするには公式Webサイトにアクセスする必要があります。ここでは、wgetコマンドを使用して直接取得します)
wget -i http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
2.mysqlの依存関係パッケージをインストールします
yum -y install mysql57-community-release-el7-10.noarch.rpm
またはrpm-ivh mysql57-community-release-el7-10.noarch.rpm
3.mysqlデータベースをインストールします
yum -y installmysql-community-server
4.インストールを完了し、mysqlを再起動します
systemctl restart mysqld.service
この時点で、MySQLは正常に実行を開始していますが、MySQLを入力する場合は、最初にこの時点でrootユーザーのパスワードを確認する必要があります。次のコマンド:
grep "password" / var / log /mysqld.log
注:前のスペースはパスワードではありません
5.上記のパスワードをコピーして貼り付け、データベースに入力します
mysql -uroot -p
は初期パスワードを入力します。MySQLはデータベースを操作してパスワードコマンドを変更する前にデフォルトでパスワードを変更する必要があるため、現時点では何もできません
。ALTERUSER'root '@' localhost 'IDENTIFIED BY' 123 ';
6.エラーを解決します
上記のエラーは、新しく設定されたパスワードが単純すぎることです。解決策:
//最初にデフォルトのパスワード形式の複雑さを変更します
ALTER USER'root '@' localhost 'IDENTIFIED BY'Xiejinming @ 12';
7.MySQLの完全な初期パスワードルールを表示する
MySQLの完全な初期パスワード規則を表示するには、ALTER USERコマンド(SHOW VARIABLES LIKE'validate_password% ';)を使用してパスワードを変更する必要があることを前提としています。
注:パスワードの長さはvalidate_password_lengthによって決定されます。validate_password_lengthの計算式は次のとおりです。validate_password_length= validate_password_number_count + validate_password_special_char_count +(2 * validate_password_mixed_case_count)
8.MySQLのデフォルトポリシーとパスワードの長さを変更します
1)パスワード変更ポリシー
現在のパスワードは複雑すぎて後の実験に便利ではないため、コマンドを使用してパスワードポリシーを変更する方法は2つあります。
次の2つの方法は、
mysql> set global validate_password_policy = 0;
mysql> set global validate_password_policy = LOW;を実行するためにランダムに使用されます。
注:4つのパスワードポリシーがあります:
1。OFF(クローズ)2。LOW(ロー)3。MEDIUM(ミディアム) )4。強い(強い)
2)パスワードの長さ
を変更する上記のポリシーを変更した後、長さを変更しますmysql> SET GLOBAL validate_password_length = 6;
9.パスワードルールを表示する
すべての変更が完了したら、パスワードルールを確認してください。mysql> SHOW VARIABLES LIKE'validate_password% ';
10.単純なパスワードに変更します
次に、複雑なパスワードを単純な4桁のパスワードに変更できます
。ALTERUSER'root '@' localhost 'IDENTIFIED BY' 123456 ';
11.インストールソースの自動更新をアンインストールします
現時点ではまだ問題があります。Yumリポジトリがインストールされているため、現在のデータベースがインストールされているため、すべてのyum操作が将来自動的に更新されるため、これをアンインストールします
。yumremove mysql57-community-release.noarch
12.データベースを初期化します
mysql_secure_installation
注:初期化コマンドを実行した後、データベースのrootユーザーのパスワードを入力し、デフォルトで上のスクリーンショットに示すように、Enterキーを最後まで押す必要があります。(上記のスクリーンショットの質問は、実際の状況に応じて選択することもできます)
13.リモートツールが接続できるように権限を付与します
1)mysqlデータベースに切り替えます。mysqlを使用します。
2)すべてのホストがrootアカウントとパスワード123456を使用してログインできるようにアクセス許可を付与します
*。*のすべての特権を「root」@「%」に付与し、「123456」によって識別されます。
3)新しい権限を更新します:権限をフラッシュします。
4)ユーザーを表示する
ユーザーからuser、host、authentication_string密码を選択します。
5)ファイアウォールをオフにします
表示|閉じる|ファイアウォールを開くsystemctlstatus |停止| firewalld.serviceを開始
ファイアウォールを完全に無効にする:systemctl disable Firewalld.service
6)Navicatツールを使用してリンクをテストします
14.大文字と小文字を区別しないようにデータベースを設定します(一部のプロジェクトは無視する必要があります。そうしないと、プロジェクトが開始されません)
Linuxシステムでは、デフォルト設定で:
数据库名与表名是严格区分大小写的;
列名与列的别名在所有的情况下均是忽略大小写的;
变量名也是严格区分大小写的;
Windowsシステムでは、デフォルト設定で:
都不区分大小写
lower_case_table_namesの値を確認してください。0は大文字と小文字を区別し、1は大文字と小文字を区別しないことを意味します。
'%case%'のような変数を表示します。
mysql> SHOW VARIABLES LIKE '%case%';
+------------------------------------+-------+
| Variable_name | Value |
+------------------------------------+-------+
| lower_case_file_system | OFF |
| lower_case_table_names | 0 |
| validate_password_mixed_case_count | 1 |
+------------------------------------+-------+
3 rows in set (0.01 sec)
mysql>
解決:
1)vi / etc / mysql / my.cnfを使用してmysql構成ファイルを開きます。
2)[mysqld]の下に次のコードを追加します:lower_case_table_names = 1
注:mysqldノードの下に配置する必要があります。他のノードの下に配置すると、有効になりません!!!!
ちなみに、次の構成を追加できます。
character_set_server = utf8
#新しいデータテーブルのデフォルトのストレージエンジン
default-storage-engine = INNODB
max_allowed_packet = 128M
max_connections = 1000
lower_case_table_names = 1
3)設定後、データベースを保存して再起動します。systemctlrestart mysqld.service
4)lower_case_table_namesの値をもう一度確認します
'%case%'のような変数を表示します。
mysql> SHOW VARIABLES LIKE '%case%';
+------------------------------------+-------+
| Variable_name | Value |
+------------------------------------+-------+
| lower_case_file_system | OFF |
| lower_case_table_names | 1 |
| validate_password_mixed_case_count | 1 |
+------------------------------------+-------+
3 rows in set (0.01 sec)
mysql>