1. 从官网下载离线安装包,mysql-installer-community-8.0.22.0.msi, 400多M.
一路下一步安装,安装过程中,startserver 失败,修改服务项:
2. 指令验证环境
mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
BY后面输入的是你的新密码,我输入的root,方便进入,可以根据个人习惯配置密码.此时密码更改成功后,我们可以看下用户信息:
select user,host,authentication_string from mysql.user;
我重新创建了个root用户并修改了权限.操作如下:
create user 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
指令测试数据库和表:
C:\Users\Administrator>mysql -uroot -p
Enter password: ****
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 20
Server version: 8.0.22 MySQL Community Server - GPL
Copyright (c) 2000, 2020, 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> show databases
-> show databases;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'show databases' at line 2
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| company |
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.00 sec)
mysql> use company;
Database changed
mysql> create table employees(id int(4) unsigned zerofill auto_increment primary key,
-> name varchar(20) not null default 'unknown',
-> birthday date,
-> position enum('boss','worker'));
Query OK, 0 rows affected, 2 warnings (1.73 sec)
mysql> show tables;
+-------------------+
| Tables_in_company |
+-------------------+
| employees |
+-------------------+
1 row in set (0.03 sec)
mysql> describe employees;
+----------+--------------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------------------+------+-----+---------+----------------+
| id | int(4) unsigned zerofill | NO | PRI | NULL | auto_increment |
| name | varchar(20) | NO | | unknown | |
| birthday | date | YES | | NULL | |
| position | enum('boss','worker') | YES | | NULL | |
+----------+--------------------------+------+-----+---------+----------------+
4 rows in set (0.04 sec)
mysql> insert into employees(name,birthday) values('Lucy','19901231');
Query OK, 1 row affected (0.09 sec)
mysql> select * from employees
-> select * from employees;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'select * from employees' at line 2
mysql> select * from company.employees;
+------+------+------------+----------+
| id | name | birthday | position |
+------+------+------------+----------+
| 0001 | Lucy | 1990-12-31 | NULL |
+------+------+------------+----------+
1 row in set (0.00 sec)
mysql>