Muat turun pakej pemasangan zip:
MySQL8.0 For Windows zip
Alamat 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
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
, 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=utf8Perhatikan 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
1.3, memulakan pangkalan data Jalankan arahan dalam direktori
direktori pemasangan MySQ
L: bin
mysqld --initialize --console
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”
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
dilaksanakan dalam direktori
MySQL
arahan direktori pemasangan (buka baris arahan bin
sebagai pentadbir, atau dalam direktori pemasangan cmd
): Shift 右键“在此处打开命令行窗口”
mysqld --install [服务名]
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>
管理员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创建用户与授权。