MySQL笔记 2

首先登陆MySQL

1.创建数据库

创建我的第一个MySQL数据库
语句:Create database collect_history_db;
结果出现了错误,提示如下:
创建失败,报错信息:MySQL错误 + ERROR 1820(HY000):You must reset your password using ALTER USER statement before executing this statement

报错原因
在第一次初始化并启动MySQL之后,系统自动生成了初始默认密码,但是如果要执行其他的操作,必须要先修改MySQL的密码。

解决方案
重新设置MySQL密码。

mysql> SET PASSWORD = '123';

此时我就将密码修改为了123。更改密码后创建成功。

2.创建数据表:

performance_schema没有权限建表 mysql没有权限创建数据库_mysql

3.分配用户远程访问权限

查看用户列表

use mysql;
SELECT user,host FROM user;

mysql8.0.18 开启远程访问设置方法

方法1

// 添加用户 root    
// 注意:‘root’也可以写完root(不需要单引号)
// @'%'表示全部IP(即,在全部IP上都可以使用这个用户)
//修改密码认证方式为 mysql_native_password
CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123123'; 
// 授权过程 *.* 表示全部数据库的全部表
GRANT ALL ON *.* TO 'root'@'%';

方法2

CREATE USER 'root'@'%' IDENTIFIED BY '123123'; 
//默认的密码认证插件caching_sha2_password
GRANT ALL ON *.* TO 'root'@'%';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123123';

4. Winows 系统 防火墙开放端口

Windows防火墙会阻止远程访问MySQL服务器,解决方法有2种:1,关闭防火墙(简单粗暴,但安全性差);2,防火墙开放外部访问端口(推荐做法);
名词解释:出站就是你访问外网 入站就是外网访bai问你, 用户可以创建入站和出站规则,从而阻挡或者允许特定程序或者端口进行连接。

下面介绍在防火开放外部访问端口

例如MySQL Client(远程客户端) 想通过3306端口访问MySQL服务器,而你的服务器没有开放3306端口,通过以下操作可以开放3306端口;

1.打开控制面板——Windows防火墙——高级设置

performance_schema没有权限建表 mysql没有权限创建数据库_mysql_02


上图为win10截图;

2.先进行入站规则设置

performance_schema没有权限建表 mysql没有权限创建数据库_mysql_03


performance_schema没有权限建表 mysql没有权限创建数据库_服务器_04


performance_schema没有权限建表 mysql没有权限创建数据库_MySQL_05


performance_schema没有权限建表 mysql没有权限创建数据库_服务器_06


performance_schema没有权限建表 mysql没有权限创建数据库_服务器_07


设置完毕后(下图为之前设置好的)

performance_schema没有权限建表 mysql没有权限创建数据库_服务器_08


这是客户端 已经可以访问 MySQL服务器端了;

3.出站规则设置

出站规则与入站规则类似;