下载步骤:
- 下载MySQL数据库可以访问官方网站:https://www.mysql.com/
- 点击DOWNLOADS模块下的Community模块下的MySQL Community Server进行下载。
- 根据自己的电脑选择相应的位数进行下载,本机是64位,点击Download。
- 进入下一个页面,该页面需要注册MySQL账户,也可不进行注册,直接下载。点击No thanks, just start my download,选择自己要下载的目录。
配置MySQL数据库,配置步骤如下:
MySQL安装文件分为两种,一种是msi格式的,一种是zip格式的。zip格式是自己解压,解压缩之后其实MySQL就可以使用了,但是要进行配置。
如果用户没配置直接使用MySQL,但会出现图示的错误。这是因为没有配置环境变量所致。配置环境变量很简单:
我的电脑->属性->高级->环境变量
选择PATH,在其后面添加: 你的mysql bin文件夹的路径 :D:\Program Files (x86)\MySQL\mysql-8.0.18-winx64\bin
配置完环境变量之后,还需要修改一下配置文件:
配置文件是在D:\Program Files (x86)\MySQL\mysql-8.0.18-winx64\my-default.ini
# 设置mysql的安装目录
basedir=D:\Program Files (x86)\MySQL\mysql-8.0.18-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\Program Files (x86)\MySQL\mysql-8.0.18-winx64\data
或者自己建立一个my.ini文件。
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=D:\Program Files (x86)\MySQL\mysql-8.0.18-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\Program Files (x86)\MySQL\mysql-8.0.18-winx64\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4
win+R 输入 cmd 打开命令行cd D:\Program Files (x86)\MySQL\mysql-8.0.18-winx64\bin
输入 mysqld --initialize-insecure
——-初始化数据库,并设置默认root密码为空,这时候那个data文件夹就会出来了
安装mysql服务mysqld install mysql
开启mysql服务net start mysql
停止mysql服务net stop mysql
PS C:\WINDOWS\system32> mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 8.0.18 MySQL Community Server - GPL
Copyright (c) 2000, 2019, 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> select host,user,authentication_string from mysql.user;
+-----------+------------------+------------------------------------------------------------------------+
| host | user | authentication_string |
+-----------+------------------+------------------------------------------------------------------------+
| localhost | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | mysql.session | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | mysql.sys | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | root | $A$005$k3xaSo%xW|rDs;nfjTYJxsM3Fg296JP5m.8B4CY92QdSKCobo6m3JICHwQrB |
+-----------+------------------+------------------------------------------------------------------------+
4 rows in set (1.24 sec)
mysql> use mysql;
Database changed
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mysql*';
Query OK, 0 rows affected (0.04 sec)
mysql> select host,user,authentication_string from mysql.user;
+-----------+------------------+------------------------------------------------------------------------+
| host | user | authentication_string |
+-----------+------------------+------------------------------------------------------------------------+
| localhost | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | mysql.session | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | mysql.sys | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | root | *81C45E003D67C601301B5129F1AA8C98271E74C4 |
+-----------+------------------+------------------------------------------------------------------------+
4 rows in set (0.00 sec)
//开启MySQL
C:\WINDOWS\system32>net start mysql
MySQL 服务正在启动 ...
MySQL 服务已经启动成功。
//登陆报错
C:\WINDOWS\system32>mysql -uroot -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
//关闭MySQL
C:\WINDOWS\system32>net stop mysql
MySQL 服务正在停止.
MySQL 服务已成功停止。
//无密码启动MySQL服务
C:\WINDOWS\system32>mysqld --console --skip-grant-tables --shared-memory
2018-11-22T14:06:27.964267Z 0 [System] [MY-010116] [Server]
D:\mysql-8.0.13-winx64\bin\mysqld.exe (mysqld 8.0.13) starting as process 2972
2018-11-22T14:06:30.981556Z 0 [Warning] [MY-010068] [Server]
CA certificate ca.pem is self signed.
2018-11-22T14:06:31.006330Z 0 [System] [MY-010931] [Server]
D:\mysql-8.0.13-winx64\bin\mysqld.exe: ready for connections.
Version: '8.0.13' socket: '' port: 0 MySQL Community Server - GPL.
2018-11-22T14:06:31.209604Z 0 [Warning] [MY-011311] [Server]
Plugin mysqlx reported: 'All I/O interfaces are disabled, X Protocol won't be accessible'
//无密码【登陆】(密码处直接enter)
C:\WINDOWS\system32>mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 8.0.13 MySQL Community Server - GPL
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> UPDATE mysql.user SET authentication_string='' WHERE user='root' and host='localhost';
Query OK, 1 row affected (0.08 sec)
Rows matched: 1 Changed: 1 Warnings: 0
//刷新
mysql> flush privileges;
Query OK, 0 rows affected (0.06 sec)
//查询
mysql> select host,user,plugin,authentication_string from mysql.user;
+-----------+------------------+-----------------------+------------------------------------------------------------------------+
| host | user | plugin | authentication_string |
+-----------+------------------+-----------------------+------------------------------------------------------------------------+
| localhost | mysql.infoschema | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | mysql.session | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | mysql.sys | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | root | caching_sha2_password | |
+-----------+------------------+-----------------------+------------------------------------------------------------------------+
4 rows in set (0.00 sec)
//---------------------------------------------设置加密的密码---------------------------------------------
//以caching_sha2_password加密密码并设置
mysql> ALTER user 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'admin';
Query OK, 0 rows affected (0.17 sec)
//刷新
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
//查询
mysql> select host,user,plugin,authentication_string from mysql.user;
+-----------+------------------+-----------------------+------------------------------------------------------------------------+
| host | user | plugin | authentication_string |
+-----------+------------------+-----------------------+------------------------------------------------------------------------+
| localhost | mysql.infoschema | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | mysql.session | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | mysql.sys | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | root | caching_sha2_password | $A$005$r/r8"We_EpPb9584lw2cALUsOsvkB/hHg1qUqocVxDMMkFQ8RyQcXASZoff5 |
+-----------+------------------+-----------------------+------------------------------------------------------------------------+
4 rows in set (0.00 sec)
//登陆成功
C:\WINDOWS\system32>mysql -uroot -padmin
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.13 MySQL Community Server - GPL
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 'admin';
Query OK, 0 rows affected (0.12 sec)
//刷新
mysql> flush privileges;
Query OK, 0 rows affected (0.03 sec)
//查询
mysql> select host,user,plugin,authentication_string from mysql.user;
+-----------+------------------+-----------------------+------------------------------------------------------------------------+
| host | user | plugin | authentication_string |
+-----------+------------------+-----------------------+------------------------------------------------------------------------+
| localhost | mysql.infoschema | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | mysql.session | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | mysql.sys | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | root | mysql_native_password | *4ACFE3202A5FF5CF467898FC58AAB1D615029441 |
+-----------+------------------+-----------------------+------------------------------------------------------------------------+
4 rows in set (0.00 sec)
mysql>
//---------------------------------------常用语句------------------------------------------------------------
//修改加密规则
mysql> UPDATE mysql.user SET plugin='mysql_native_password' WHERE user='root';
//查询
mysql> select host,user,plugin,authentication_string from mysql.user;
//对密码进行加密
mysql> update mysql.user set password=password('admin') where user='root' and host='localhost';
//刷新
flush privileges;
//退出
mysql> exit
mysql> use mysql;
mysql> update user set password=password('123') where user='root' and host='localhost';
//等价于
mysql> update mysql.user set password=password('123') where user='root' and host='localhost';
C:\WINDOWS\system32>mysql -uroot -padmin
//等价于
C:\WINDOWS\system32>mysql -u root -p admin