下载解压
创建配置文件
config.ini
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=D:\Program Files\mysql\mysql-8.0.18-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\Program Files\mysql\mysql-8.0.18-winx64\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
初始化并安装服务
然后在 cmd 运行
D:\Program Files\mysql\mysql-8.0.18-winx64\bin>mysqld --initialize --user=mysql --console
2020-01-01T06:53:58.438664Z 0 [System] [MY-013169] [Server] D:\Program Files\mysql\mysql-8.0.18-winx64\bin\mysqld.exe (mysqld 8.0.18) initializing of server in progress as process 628440
2020-01-01T06:54:00.111722Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: ao11asfijt<F
D:\Program Files\mysql\mysql-8.0.18-winx64\bin>mysqld --install mysql --defaults-file="D:\Program Files\mysql\mysql-8.0.18-winx64\config.ini"
Install/Remove of the Service Denied!
可以看见服务安装失败,这是因为没有使用管理员权限打开 cmd
重复上面的初始化命令
D:\Program Files\mysql\mysql-8.0.18-winx64\bin>mysqld --initialize --user=mysql --console
2020-01-01T07:01:16.022093Z 0 [System] [MY-013169] [Server] D:\Program Files\mysql\mysql-8.0.18-winx64\bin\mysqld.exe (mysqld 8.0.18) initializing of server in progress as process 627996
2020-01-01T07:01:16.023535Z 0 [ERROR] [MY-010457] [Server] --initialize specified but the data directory has files in it. Aborting.
2020-01-01T07:01:16.023686Z 0 [ERROR] [MY-013236] [Server] The designated data directory D:\Program Files\mysql\mysql-8.0.18-winx64\data\ is unusable. You can remove all files that the server added to it.
2020-01-01T07:01:16.032557Z 0 [ERROR] [MY-010119] [Server] Aborting
2020-01-01T07:01:16.033409Z 0 [System] [MY-010910] [Server] D:\Program Files\mysql\mysql-8.0.18-winx64\bin\mysqld.exe: Shutdown complete (mysqld 8.0.18) MySQL Community Server - GPL.
失败原因是
The designated data directory D:\Program Files\mysql\mysql-8.0.18-winx64\data\ is unusable. You can remove all files that the server added to it.
因为执行初始化命令的时候会自动创建 data 文件夹,再次初始化就得把这个文件夹删掉
安装成功:
D:\Program Files\mysql\mysql-8.0.18-winx64\bin>mysqld --initialize --user=mysql --console
2020-01-01T07:05:31.176064Z 0 [System] [MY-013169] [Server] D:\Program Files\mysql\mysql-8.0.18-winx64\bin\mysqld.exe (mysqld 8.0.18) initializing of server in progress as process 531948
2020-01-01T07:05:32.847715Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: uquYs:_Ad5sH
D:\Program Files\mysql\mysql-8.0.18-winx64\bin>mysqld --install mysql --defaults-file="D:\Program Files\mysql\mysql-8.0.18-winx64\config.ini"
Service successfully installed.
启动服务
D:\Program Files\mysql\mysql-8.0.18-winx64\bin>net start mysql
mysql 服务正在启动 .
mysql 服务已经启动成功。
可以在任务管理器里看见 mysql 已经启动
客户端连接
命令行输入 mysql -u root -p
接着键入初始化时自动生成的随机密码:
D:\Program Files\mysql\mysql-8.0.18-winx64\bin>mysql -u root -p
Enter password: ************
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.18
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>
修改密码
使用 ALTER user 语句,这里简单把密码修改成 ‘password’
mysql> ALTER user 'root'@'localhost' IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.01 sec)
简单示范
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.01 sec)
mysql> use mysql;
Database changed
mysql> show tables;
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
| component |
| db |
| default_roles |
| engine_cost |
| func |
| general_log |
| global_grants |
| gtid_executed |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| innodb_index_stats |
| innodb_table_stats |
| password_history |
| plugin |
| procs_priv |
| proxies_priv |
| role_edges |
| server_cost |
| servers |
| slave_master_info |
| slave_relay_log_info |
| slave_worker_info |
| slow_log |
| tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user |
+---------------------------+
33 rows in set (0.00 sec)
mysql> select host,user,password_last_changed from mysql.user;
+-----------+------------------+-----------------------+
| host | user | password_last_changed |
+-----------+------------------+-----------------------+
| localhost | mysql.infoschema | 2020-01-01 15:05:33 |
| localhost | mysql.session | 2020-01-01 15:05:33 |
| localhost | mysql.sys | 2020-01-01 15:05:33 |
| localhost | root | 2020-01-01 15:27:03 |
+-----------+------------------+-----------------------+
4 rows in set (0.00 sec)