1、下载mysql

https://dev.mysql.com/downloads/

2、配置环境变量

变量名:MYSQL_HOME

变量值:E:\MySql\mysql-8.0.15-winx64\mysql-8.0.15-winx64

path里添加:%MYSQL_HOME%\bin;

注:如果需要修改一些配置的话,在当前目录下自行新建配置文件:my.ini

例如,这里我将端口修改为:3309,默认端口为3306

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3309
# 设置mysql的安装目录
basedir=E:\MySql\mysql-8.0.15-winx64\mysql-8.0.15-winx64
# 设置mysql数据库的数据的存放目录
datadir=E:\MySql\mysql-8.0.15-winx64\mysql-8.0.15-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

端口号更改之后,需要重启服务才会生效.

3、生成data文件

以管理员身份运行cmd

进入E:\MySql\mysql-8.0.15-winx64\mysql-8.0.15-winx64\bin 下

执行命令:mysqld --initialize-insecure --user=mysql  在E:\MySql\mysql-8.0.15-winx64\mysql-8.0.15-winx64目录下生成data目录

4、启动服务

执行命令:net start mysql  启动mysql服务,若提示:服务名无效,执行命令:mysqld -install  即可

在服务列表中可看到该服务:

停止服务:net stop mysql

卸载服务:mysqld --remove mysql

下面开始使用MySql:

1、链接mysql:(以root账号登录)

mysql -u root -p

初始没有密码,直接enter

注意:当配置文件中将Mysql端口号更改了,则登录时需指定端口,P为大写:(这里我设置的端口为3309,,主机ip为192.168.168.152)

mysql -P 3309 -h 192.168.168.152 -u root -p

2、登录之后,修改密码,并配置远程访问

登陆成功之后修改密码(密码修改为admin):

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'admin';

或者

update mysql.user set authentication_string=password('admin') where user='root' and Host = 'localhost';

默认不允许远程访问MySQL,如果需要远程访问,下面是开启远程访问的命令:

use mysql;

update user set host = '%' where user = 'root';

FLUSH PRIVILEGES;

3、基础操作

①创建数据库:

create database Temp DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

删除数据库:drop database Temp;

②创建用户:

CREATE USER  'test'@'%'  IDENTIFIED BY  '123456';

CREATE USER  'user_name'@'host'  IDENTIFIED BY  'password';

user_name:要创建用户的名字。

host:表示要这个新创建的用户允许从哪台机登陆,如果只允许从本机登陆,则 填 ‘localhost’ ,如果允许从远程登陆,则填 ‘%’

password:新创建用户的登陆数据库密码,如果没密码可以不写。

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改密码永不过期

可执行,select * from user;查看用户列表(查看用户拥有的权限,可以看到用户很多权限都是N,因为未授权)

4、授权用户:

GRANT ALL PRIVILEGES ON Temp.* TO 'test'@'%';

GRANT privileges ON  databasename.tablename  TO  ‘username’@‘host’

privileges:表示要授予什么权力,例如可以有 select , insert ,delete,update等,如果要授予全部权力,则填 ALL

databasename.tablename:表示用户的权限能用在哪个库的哪个表中,如果想要用户的权限很作用于所有的数据库所有的表,则填 *.*,*是一个通配符,表示全部。

’username‘@‘host’:表示授权给哪个用户。

5、刷新权限表

flush privileges;

执行这个命令的原因是,需要将新加入的用户写入到权限表中,即更新grant table

6、用Navicat for MySQL链接数据库:

如果链接失败的话,报错:Client does not support authentication protocol requested by server;

(原因:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password;那么把mysql用户登录密码加密规则还原成mysql_native_password即可)

执行命令:

ALTER USER 'test'@'%' IDENTIFIED WITH mysql_native_password BY '123456';#更新密码加密规则

FLUSH PRIVILEGES; #刷新权限

7、mysql 退出,有三种方式可退出:
mysql > exit;
mysql > quit;
mysql > \q;

8、如果忘记了mysql root账号密码,可以进行重置密码(转载原文章地址:https://www.cnblogs.com/baimj/p/11738708.html)

①停止mysql服务:

net stop mysql

②开启跳过密码验证登录的MySQL服务

mysqld --console --skip-grant-tables --shared-memory

③再打开一个新的cmd,无密码登录MySQL

mysql -u root -p

④ 密码置为空

use mysql

update user set authentication_string='' where user='root';

⑤退出mysql

quit

⑥关闭以-console --skip-grant-tables --shared-memory 启动的MySQL服务,

⑦ 启动MySQL服务。

net start mysql

⑧步骤4密码已经置空,所以无密码状态登录MySQL,输入登录命令:mysql -u root -p

⑨修改密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

⑩刷新重新进入

quit;

net stop mysql

net start mysql

mysql -u root -p

输入密码,登录成功。

最新文章

  1. Android将应用调试log信息保存在SD卡
  2. 瀑布流StaggeredGridView 下拉刷新
  3. React Native实例
  4. xml与json 介绍
  5. WCF 入门 (21)
  6. (转)SQL对Xml字段的操作
  7. Oozie和Azkaban的技术选型和对比
  8. 解决方案:Error:Execution failed for task ':app:compileDebugAidl'. > aidl is missing
  9. JVM基础和调优(六)
  10. 关于MySQL的Myisam和Innodb的一些比较总结
  11. cocos2dx ResolutionPolicy
  12. BZOJ 1975 SDOI2010 魔法猪学院 A*k短路
  13. udp服务端收发数据流程
  14. 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  15. nginx-2-nginx的反向代理
  16. node.js 学习笔记一
  17. 软件工程-东北师大站-第十一次作业(PSP)
  18. Jsoup爬取带登录验证码的网站
  19. Java程序员之JS(一) 之 JQuery.ajax
  20. PAT——1003. 我要通过!

热门文章

  1. ubuntu查询命令行安装的软件的安装路径
  2. 深入学习c++--重新审视auto
  3. [LuoguP3668][USACO17OPEN]现代艺术2
  4. Spotlight On Oracle安装和使用
  5. UIWebView 获取网页标题
  6. 【Javascript-基础-ecma6】ecma6学习笔记(持续更新)
  7. Python 学习笔记(十三)Python函数(一)
  8. PLSQL Developer 12 注册码
  9. CoreAnimation|动画
  10. CentOS6安装各种大数据软件 第六章:HBase分布式集群的配置