一、MySQL的下载

下载地址:https://dev.mysql.com/downloads/mysql/

 

 二、MySQL的安装

1、解压:将下载的压缩包解压到指定目录,如:D:\MySQL\mysql-8.0.20-winx64,解压后在根目录下的bin文件夹有两个文件:mysql.exe和mysqld.exe,

      前者是客户端,后者是服务端,先运行服务端再运行客户端。

 

2、初始化:打开CMD终端,进入MySQL所在的路径下的bin文件夹,如:D:\MySQL\mysql-8.0.20-winx64\bin\,输入:

     mysqld –initialize-insecure 按回车,初始化成功,默认创建一个用户名为root,密码为空的账户。

 

3、检查MySQL是否安装成功:

    打开CMD终端,输入安装路径,如:D:\MySQL\mysql-8.0.20-winx64\bin\mysqld,按回车(注意bin路径后面跟\mysqld服务端),此时服务端以启动,等待客户端连接;

 再打开一个CMD终端,输入安装路径,如:D:\MySQL\mysql-8.0.20-winx64\bin\mysql -u root -p,按回车(注意bin路径后面跟\mysql客户端)root为用户名,-p是用户密码,默认为空,直接回车,此时会出现Enter password:没有密码直接回车,如果出现以下界面表示安装成功,并已连接上服务端

  

三、添加MySQL环境变量

因为MySQL安装好以后每次都需要进入安装路径打开两个终端很麻烦,此时我们只需要添加环境变量就可以不用进入安装路径启动MySQL了。

1、分别执行以下操作:

  我的电脑——右键——属性——高级系统设置——高级——环境变量——系统变量里找到path双击——把MySQL的bin目录路径添加到变量值末尾,用;分割——点击确定,此时环境变量就添加成功

 

四、开启windows服务

  开启windows服务的意思是:以后只要Windows服务开启就不用同时运行服务端和客户端,就只需要运行客户端就可以了,服务端在后台运行,不需要时随时可以关闭

步骤如下:

# 制作MySQL的Windows服务,在终端执行此命令:
D:\MySQL\mysql-8.0.20-winx64\bin\mysqld --install
  
# 移除MySQL的Windows服务,在终端执行此命令:
D:\MySQL\mysql-8.0.20-winx64\bin\mysqld --remove

# 启动MySQL的Windows服务,在终端执行此命令:
net start MySQL

# 关闭MySQL的Windows服务,在终端执行此命令:
net stop MySQL 

  

五、MySQL的基本操作

一、用户管理
  创建用户:create user 'name'@'192.168.1.1' identified by '123456'; #创建一个名为'name',密码为'123456'的用户,且只能在指定IP登录
     create user 'name'@'192.168.1.%' identified by '123456'; #创建一个名为'name',密码为'123456'的用户,只能在IP范围内登录
     create user 'name'@'%' identified by '123456';       #创建一个名为'name',密码为'123456'的用户,能在所有电脑上登录
删除用户:drop user 'name'@'IP地址';
修改用户:rename user 'name'@'IP地址' to 'newname'@'IP地址';
修改密码:set password for 'name'@'IP地址' = password('新密码')
二、文件夹操作
  1 show databases; #显示当前目录文件夹(数据库)
  2 use db1;  #进入db1文件夹(数据库)
  3 show tables;  #显示当前文件夹(数据库)的所有文件
  4
create databases db1 default charset utf8; #创建一个名为db1的文件夹(数据库)
  5 drop database db2;  #创建名为db2的文件夹(数据库)
三、文件操作
  1 创建数据:
   create table t1(id int,name char(10)) default charset=utf8;  #创建t1文件(id列int(整数)类型,name列char(字符串)类型限定10个字符)
   create table t1(列名 类型 null,
             列名 类型 not null,
             列名 类型 not null auto_increment primary key,
             id int, 
             name char(10))
             engine=innodb default charset=utf8;

   #innodb(引擎) 支持事务,原子性操作(突发情况会退回操作前的状态),默认使用innodb
   #myisam(引擎) 支持全局索引,速度更快
   #auto_increment:表示自增(一个表只能有一个自增列),类似序号自动+1
   #primary key:表示约束(不能重复且不能为空);加速查找
  2 查看数据:
select * from db1;  #查看db1文件下的所有内容
     select name,age,id from db1;  #查看db1下的name,age,id列
    
select * from t1;  #查看t1数据
  
3 插入数据:insert into t1<id,name> values<1,egon>;
  4 删除数据:delete from t1 where id<6;  #把id小于6的数据都删了
  5 修改数据:update t1 set age=18;
        update t1 set age=18 where age=17;  #把age为17的统一修改为18

  
4 清空表:delete from t1;(清空后自增列不变继续原来基础上+1)
       truncate table t1;(速度快,自增列从头开始)
  5 删除表:drop table t1;

  
6 mysql数据库user表
   
 use mysql;
   select user,host from user;  #可以看到所有mysql用户名及权限

、数据类型
    数字:tinyint
     int
     bigint

     float
     double
     decimal
    字符串:char(10)  #不管有没有10个都占10个,查询速度快
     varchar(10)  #最多能占10个,占几个算几个,节省空间
         PS:创建数据表定长列往前放
        text:保存变长的大字符串
    时间类型:date: YYYY-MM-DD(1000-01-01/9999-12-31)
     time: HH:MM:SS('-838:59:59'/'838:59:59')
     year: YYYY(1901/2155)
     datetime:YYYY-MM-DD HH:MM:SS(1000-01-01 00:00:00/9999-12-31 23:59:59)
     timestamp:YYYYMMDD HHMMSS(1970-01-01 00:00:00/2037 年某时)
         PS:比较常用的是datetime





六、权限管理

关于授权:
  grant select,insert,update on db1.t1 to 'name'@'%'; #对name用户授权,可以对db1文件夹下的t1文件,执行查看和插入权限
  grant all privileges on db1.t1 to 'name'@'%';     #对name用户授权,可以对db1文件夹下的t1文件,执行除授权外的所有权限
grant 权限 on 数据库.表 to '用户'@'IP地址'


 

未完待续……

版权声明:本文为yf5270原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/yf5270/p/13190817.html