Rumah >pangkalan data >tutorial mysql >Penjelasan menyeluruh tentang kaedah pemasangan MySQL8.0 Untuk Windows

Penjelasan menyeluruh tentang kaedah pemasangan MySQL8.0 Untuk Windows

藏色散人
藏色散人ke hadapan
2021-10-25 16:26:052354semak imbas

Muat turun pakej pemasangan zip:

 MySQL8.0 For Windows zipAlamat muat turun pakej: https://dev.mysql.com/downloa..., anda tidak perlu log masuk selepas memasuki halaman. Kemudian klik “No thanks, just start my download.” di bahagian bawah untuk mula memuat turun.

Atau muat turun terus: https://dev.mysql.com/get/Dow...

Persekitaran: Windows 10

1 >

1.1, nyahzip pakej zip ke direktori pemasangan

Contohnya, direktori pemasangan saya ialah:
C:Program FilesMySQL

1.2, fail konfigurasi

Dalam sistem
, fail konfigurasi Lalai ialah fail Windows (atau my.ini) dalam direktori pemasangan Beberapa konfigurasi perlu dikonfigurasikan semasa pemasangan awal, dan kebanyakannya juga boleh ditukar selepas pemasangan selesai. Sudah tentu, dalam kes yang melampau, semuanya boleh diubah. my-default.ini

Kami mendapati direktori yang dinyahzip tidak mempunyai fail

, jadi anda boleh menciptanya sendiri. Tambahkan my.ini pada direktori akar pemasangan Sebagai contoh, berikut ialah: my.ini Tulis konfigurasi asas: C:Program FilesMySQLmy.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
Perhatikan bahawa

di dalam adalah direktori pemasangan tempatan saya, basedir. Ini adalah lokasi di mana fail data pangkalan data saya akan disimpan Setiap konfigurasi perlu dikonfigurasikan mengikut persekitaran anda sendiri. datadir

Untuk melihat semua item konfigurasi, sila rujuk: https://dev.mysql.com/doc/ref...

 

1.3, memulakan pangkalan data Jalankan arahan dalam direktori
direktori pemasangan MySQL: bin

mysqld --initialize --console

Selepas pelaksanaan selesai, kata laluan lalai awal

pengguna akan dicetak, seperti: 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>
Perhatian! Terdapat perenggan dalam hasil output pelaksanaan:

[Note] [MY-010454] [Server] A temporary password is generated for root@localhost: rI5rvf5x5G,E selepas root@localhost: ialah kata laluan awal (tidak termasuk ruang pertama). Sebelum menukar kata laluan, anda perlu mengingati kata laluan ini dan menggunakannya untuk log masuk seterusnya. “rI5rvf5x5G,E”

Jika anda lambat, matikan terlalu cepat, atau tidak mengingatinya, tidak mengapa padamkan direktori

yang dimulakan, laksanakan perintah pemula sekali lagi dan ia akan dijana semula. Sudah tentu, anda juga boleh menggunakan alat keselamatan untuk memaksa penukaran kata laluan Terpulang kepada anda kaedah yang anda gunakan. datadir

Rujukan: https://dev.mysql.com/doc/ref...

1.4, perkhidmatan pemasangan

dilaksanakan dalam direktori
MySQL arahan direktori pemasangan (buka baris arahan bin sebagai pentadbir, atau dalam direktori pemasangan cmd): Shift 右键“在此处打开命令行窗口”

mysqld --install [服务名]

Nama perkhidmatan selepas

tidak perlu ditulis, dan nama lalai ialah mysql. Sudah tentu, jika anda perlu memasang berbilang perkhidmatan MySQL pada komputer anda, anda boleh menggunakan nama yang berbeza untuk membezakannya, seperti mysql5 dan mysql8.

Selepas pemasangan selesai, anda boleh memulakan perkhidmatan net start mysql melalui arahan MySQL.

Contoh:

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>

Rujukan: https://dev.mysql.com/doc/ref...

2 Tukar kata laluan dan palam pengesahan kata laluan- dalam

Jalankan arahan dalam direktori MySQL direktori pemasangan bin:

mysql -u root -p
Pada masa ini, anda akan digesa untuk memasukkan kata laluan kata laluan semasa pemasangan dalam langkah 1.3 di atas, isikannya untuk berjaya log masuk dan masuk ke mod arahan MySQL.

Sebelum MySQL8.0.4, laksanakan

SET PASSWORD=PASSWORD('[修改的密码]');
untuk menukar kata laluan, tetapi bermula dari MySQL8.0.4, ini tidak akan berfungsi secara lalai. Kerana sebelum ini, pemalam pengesahan kata laluan untuk MySQL ialah “mysql_native_password”, tetapi kini ia menggunakan “caching_sha2_password”.

Memandangkan banyak alatan pangkalan data dan pakej pautan pada masa ini tidak menyokong “caching_sha2_password”, demi kemudahan, saya telah menukar semula kepada pemalam pengesahan “mysql_native_password” buat sementara waktu.

Untuk menukar kata laluan pengguna, laksanakan arahan dalam MySQL:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
Ubah suai pemalam pengesahan kata laluan dan tukar kata laluan pada masa yang sama.

Jika anda mahu menggunakan “mysql_native_password” pengesahan pemalam secara lalai, anda boleh mengkonfigurasi default_authentication_plugin项 dalam fail konfigurasi.

[mysqld]
default_authentication_plugin=mysql_native_password

Contoh:

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>

Salin kod

Rujukan: https://dev.mysql. com/doc/ref...

Pada ketika ini, pemasangan dan penggunaan telah selesai. Secara rasmi, kelajuan ujian MySQL8 adalah dua kali lebih pantas daripada 5.

Anda boleh menggunakan arahan untuk menyemak pangkalan data lalai yang dipasang:

show databases;

use mysql;

show tables;
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.01 sec)

mysql>

看到默认初始化了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>

管理员roothostlocalhost,代表仅限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创建用户与授权。

推荐学习:《mysql视频教程

Atas ialah kandungan terperinci Penjelasan menyeluruh tentang kaedah pemasangan MySQL8.0 Untuk Windows. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:segmentfault.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam