公式ウェブサイトバージョン5.7:https:
//cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.29-1.el7.x86_64.rpm-bundle.tarはxftpを使用してLinuxにアップロードできます。mysql
インストールを作成します。ディレクトリ
mkdir mysql
パーミッションの問題を回避するために、mysqlunzipファイルが配置されているディレクトリに最大のパーミッションを付与します
chmod -R 777 mysql
tarコマンドを使用して解凍します
tar -xvf mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar
新しいバージョンのmysqlをインストールする前に、システムに付属のmariadb-libをアンインストールする必要があります
rpm -qa|grep mariadb
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
厳密な順序でインストールします:mysql-community-common-5.7.29-1.el7.x86_64.rpm、mysql-community-libs-5.7.29-1.el7.x86_64.rpm、mysql-community-client-5.7.29 -1.el7.x86_64.rpm、mysql-community-server-5.7.29-1.el7.x86_64.rpmこれらの4つのパッケージ
rpm -ivh mysql-community-common-5.7.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.29-1.el7.x86_64.rpm
インストールプロセス中にこのエラーが発生した場合は、最後に--force --nodepsを追加します。これは、yumが古いバージョンのGPGキーをインストールしたことが原因である可能性があります。
rpm -ivh mysql-community-server-5.7.29-1.el7.x86_64.rpm --force --nodeps
関連する構成を変更する
vim /etc/my.cnf
次の3行を追加します
skip-grant-tables:ログイン検証をスキップします
character_set_server = utf8:デフォルトの文字セットUTF-8を設定します
init_connect = 'SET NAMES utf8':デフォルトの文字セットUTF-8を設定します
skip-grant-tables
character_set_server=utf8
init_connect='SET NAMES utf8'
起動を設定する
systemctl start mysqld.service
mysqlを起動します
mysql -uroot
最初に簡単なパスワードを設定します
update mysql.user set authentication_string=password('123456') where user='root';
すぐに効果的
flush privileges;
mysqlを終了し、mysqlサービスを停止します
退出命令 quit
停止mysql
systemctl stop mysqld.service
my.cnf構成ファイルを編集して、skip-grant-tables行をコメントアウトします。mysql
サービスを再起動します。
systemctl start mysqld.service
mysqlに再度ログインします
mysql -uroot -p123456
リモートアクセスを有効にする
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
このエラーは結果として報告されました:
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before
mysql 5.7を使用すると、初期パスワードを時間内に変更する必要があります。そうしないと、すべてでエラーが発生します。
たとえば、123456に設定するなど、単純なテストパスワードを設定する場合は、このエラーが表示されます。エラーは、パスワードが要件を満たしていないこと。
mysql> alter user 'root'@'localhost' identified by '123456';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
これは実際にはvalidate_password_policyの値に関連しています。
validate_password_policyの値は次のとおりです。
デフォルトは1、つまりMEDIUMであるため、最初に設定するパスワードは長さを満たし、数字、小文字または大文字、および特殊文字を含める必要があります。
時々、私自身のテストのために、それほど複雑なパスワードを設定したくない場合があります。たとえば、rootパスワードを123456に設定したいだけです。
2つのグローバルパラメータを変更する必要があります。
まず、validate_password_policyパラメーターの値を変更します
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
validate_password_length(パスワードの長さ)パラメーターのデフォルトは8で、1に変更します。
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.00 sec)
設定はすぐに有効になります
flush privileges;
次に、リモートアクセス許可設定を正常に設定します
mysql> grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
Query OK, 0 rows affected, 1 warning (0.00 sec)