zip インストール パッケージをダウンロードします:
MySQL8.0 For Windows zip
パッケージのダウンロードアドレス: https://dev.mysql.com/downloa..., ページに入った後はログインする必要はありません。次に、下部にある 「いいえ、ダウンロードを開始してください。」
をクリックしてダウンロードを開始します。
または直接ダウンロード: https://dev.mysql.com/get/Dow...
環境: Windows 10
1、インストール
1.1. zip パッケージをインストール ディレクトリに解凍します
たとえば、私のインストール ディレクトリは次のとおりです: C:\Program Files\MySQL
1.2. 設定file
Windows
システムでは、構成ファイルのデフォルトは、インストール ディレクトリ内の my.ini
ファイル (または my-default.ini
) です。一部の構成は初期化する必要があります。インストール中に構成されますが、ほとんどはインストール完了後に変更することもできます。もちろん、極端な場合には、すべてが変更される可能性があります。
解凍したディレクトリに my.ini
ファイルがないことがわかりましたが、問題はありません。自分で作成することもできます。 my.ini をインストール ルート ディレクトリに追加します。例: C:\Program Files\MySQL\my.ini
に、基本構成を記述します:
[mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir=C:\Program Files\MySQL # 设置mysql数据库的数据的存放目录 datadir=E:\database\MySQL\Data # 允许最大连接数 max_connections=200 # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统 max_connect_errors=10 # 服务端使用的字符集默认为UTF8 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 默认使用“mysql_native_password”插件认证 default_authentication_plugin=mysql_native_password [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [client] # 设置mysql客户端连接服务端时默认使用的端口 port=3306 default-character-set=utf8
注、basedir
内はローカル インストール ディレクトリ、datadir
はデータベース データ ファイルが保存されている場所です。各構成は独自の環境に従って構成する必要があります。
すべての設定項目を表示するには、https://dev.mysql.com/doc/ref...
1.3、データベースを初期化します#を参照してください。
##MySQL インストール ディレクトリの
bin ディレクトリでコマンド
mysqld --initialize --console を実行します。
root ユーザーの初期デフォルト パスワードが次のように出力されます。
C:\Users\Administrator>cd C:\Program Files\MySQL\bin C:\Program Files\MySQL\bin>mysqld --initialize --console 2018-04-28T15:57:17.087519Z 0 [System] [MY-013169] [Server] C:\Program Files\MySQL\bin\mysqld.exe (mysqld 8.0.11) initializing of server in progress as process 4984 2018-04-28T15:57:24.859249Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: rI5rvf5x5G,E 2018-04-28T15:57:27.106660Z 0 [System] [MY-013170] [Server] C:\Program Files\MySQL\bin\mysqld.exe (mysqld 8.0.11) initializing of server has completed C:\Program Files\MySQL\bin>
[Note] [MY-010454] [Server] root@localhost の一時パスワードが生成されます: rI5rvf5x5G,E where
root@localhost: の後の
"rI5rvf5x5G,E" は初期パスワードです (最初のスペースを除く)。パスワードを変更する前に、このパスワードを覚えておき、次回のログインに使用する必要があります。
datadir ディレクトリを削除し、再度初期化コマンドを実行すると再生成されます。もちろん、セキュリティ ツールを使用してパスワードを強制的に変更することもできますが、どの方法を使用するかはユーザー次第です。
を
MySQL インストール ディレクトリ#にインストールします# #bin
ディレクトリでコマンドを実行します (管理者として cmd
コマンド ラインを開くか、インストール ディレクトリ Shift を右クリックして「ここでコマンド ライン ウィンドウを開きます」
):
以降のサービス名は記述不要、デフォルト名は
。もちろん、コンピュータに複数の MySQL サービスをインストールする必要がある場合は、mysql5
や mysql8
など、異なる名前を使用してそれらを区別できます。 インストールが完了したら、コマンド
を使用して MySQL
サービスを開始できます。 例:
C:\Program Files\MySQL\bin>mysqld --install Service successfully installed. C:\Program Files\MySQL\bin>net start mysql MySQL 服务正在启动 .. MySQL 服务已经启动成功。 C:\Program Files\MySQL\bin>
参考: https://dev.mysql.com/doc/ref...
2 番目に、パスワードとパスワード認証プラグインを変更します
MySQL
インストール ディレクトリの bin
ディレクトリでコマンド
## を実行します。 # この時点で、パスワードの入力を求められます。上記のステップ 1.3 のインストール中に使用したパスワードを覚えておいてください。入力すると、正常にログインして MySQL コマンド モードに入ることができます。 MySQL8.0.4
の前に、
SET PASSWORD=PASSWORD('[変更されたパスワード]');
MySQL8.0.4 以降では、これはデフォルトでは機能しません。以前は、
MySQL
のパスワード認証プラグインは "mysql_native_password"
でしたが、現在は "caching_sha2_password"
になっているためです。 現在、多くのデータベース ツールとリンク パッケージが
"caching_sha2_password"
をサポートしていないため、便宜上、一時的に
認証に戻しました。プラグイン。 ユーザー パスワードを変更し、
MySQL
でコマンドを実行します。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'newpassword';
"mysql_native_password"
プラグイン認証をデフォルトで使用する場合は、設定ファイルで
を設定できます。 [mysqld]
default_authentication_plugin=mysql_native_password
例:<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">C:\Program Files\MySQL\bin>mysql -u root -p
Enter password: ************
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.11
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> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
Query OK, 0 rows affected (0.06 sec)
mysql></pre><div class="contentsignin">ログイン後にコピー</div></div>
コードをコピー
参照: https://dev.mysql.com/doc/ref...
この時点で、インストールとデプロイは完了です。公式には、テスト速度
MySQL8は
5 の 2 倍です。 コマンドを使用して、デフォルトでインストールされているデータベースを確認できます:
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">show databases;
use mysql;
show tables;</pre><div class="contentsignin">ログイン後にコピー</div></div>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.01 sec)
mysql></pre><div class="contentsignin">ログイン後にコピー</div></div>
<p>看到默认初始化了<code>mysql
数据库,其中user表里面存储MySQL
用户信息。我们可以看一下默认MySQL
用户:
select user,host,authentication_string from mysql.user;
mysql> select user,host,authentication_string from mysql.user; +------------------+-----------+-------------------------------------------+ | user | host | authentication_string | +------------------+-----------+-------------------------------------------+ | mysql.infoschema | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | | mysql.session | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | | mysql.sys | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | | root | localhost | *27C237A977F4F44D3F551F1A673BE14DFD232961 | +------------------+-----------+-------------------------------------------+ 4 rows in set (0.00 sec) mysql>
管理员root
的host
是localhost
,代表仅限localhost
登录访问。如果要允许开放其他ip
登录,则需要添加新的host
。如果要允许所有ip
访问,可以直接修改成“%”
创建用户:
CREATE USER 'xxh'@'%' IDENTIFIED WITH mysql_native_password BY 'xxh123!@#';
(需要注意:mysql8.0
加密方式修改了)
检查用户
select user, host, plugin, authentication_string from user\G;
授权远程数据库
授权所有权限
GRANT ALL PRIVILEGES ON *.* TO 'xxh'@'%';
授权基本的查询修改权限,按需求设置
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON *.* TO 'xxh'@'%';
查看用户权限show grants for 'xxh'@'%';
示例:
mysql> use mysql; Database changed mysql> CREATE USER 'xxh'@'%' IDENTIFIED WITH mysql_native_password BY 'xxh123!@#'; #创建用户(注意:mysql8.0加密方式修改了) Query OK, 0 rows affected (0.07 sec) mysql>
查看密码加密方式:
mysql> select user, host, plugin, authentication_string from user; +------------------+-----------+-----------------------+-------------------------------------------+ | user | host | plugin | authentication_string | +------------------+-----------+-----------------------+-------------------------------------------+ | xxh | % | mysql_native_password | *70FD6FB4F675E08FF785A754755B5EBA6DA62851 | | mysql.infoschema | localhost | mysql_native_password | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | | mysql.session | localhost | mysql_native_password | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | | mysql.sys | localhost | mysql_native_password | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | | root | localhost | mysql_native_password | *27C237A977F4F44D3F551F1A673BE14DFD232961 | +------------------+-----------+-----------------------+-------------------------------------------+ 5 rows in set (0.00 sec) mysql>
另外,如果需要新增账户,或者本机以外的其他人访问MySQL则还需要设置内置账户的host,具体可以参考:MySQL创建用户与授权。