一、下载MySQL
MySQL官网https://dev.mysql.com提供了Windows下的安装版msi和解压版zip,其中均包含32和64位版本,mis版本与SqlServer安装基本一致Next即可,在此讲解一下zip版的安装方式
目前最新的MySQL是5.7版,如果我想下载5.6版需要点击旁边的“Looking for previous GA Versions?”来查看旧版本的MySQL
询问登录时,直接点击“No thanks, just start my download.”下载即可
、
二、安装MySQL
1、解压到磁盘目录
2、配置环境变量
新建系统变量
变量名:MYSQL_HOME
变量值:C:\mysql-5.6.37-winx64(mysql解压目录)
C
普遍含有Path这个系统变量,对这个变量点击编辑,每一个值之间用;分号分隔
变量值:%MYSQL_HOME%\bin
3、注册Windows系统服务
进入mysql的bin目录:cd c:\mysql-5.6.37-winx64\bin
在bin目录下安装mysql服务:mysqld install MySQL --defaults-file="C:\mysql-5.6.37-winx64\my-default.ini"
移除服务命令:mysqld remove
4、启动MySQL服务
在cmd中就是命令行中敲:net start mysql
三、配置MySQL
1、登录MySQL
刚刚安装完root帐号没有密码,所以可以直接登录:mysql -u root
2、设置root帐号密码
每条sql必须在结尾打;分号
显示现有数据库:show databases;
帐号密码在mysql库中,使用mysql库:use mysql;
修改帐号密码:update user set password=PASSWORD("root") where user='root';
刷新权限:flush privileges;
退出:quit;
再次登陆就要输入密码:mysql -u root -p
根据提示输入密码后登录
也可以直接输入帐号密码登录(-u直接输用户名,-p直接输密码):mysql -uroot -proot
四、MySQL配置远程连接
使用mysql库:use mysql;
查看权限:select host,user from user;
发现root只有本地访问权限,mysql采用白名单登录方式,所以无法远程访问
授权格式:grant 权限 on 数据库.表 to '用户名'@'登录主机' identified by '密码';
设置某用户单一IP远程访问权限:grant all privileges on *.* to 'root'@'xxx.xxx.xxx.xxx' identified by 'root';
上面这句意思就是“某库的某表的权限赋予,某用户的某IP进行访问,访问密码为XXX”
all privileges代表全部权限,也可以只给select,update,insert权限
*.*代表某库.某表
'root'@'192.168.1.100'代表root用户用192.168.1.100的IP访问
identified by 'root'中的'root'代表访问的密码,与本机访问的密码不同,可以独立设置,比如本地localhost访问密码为123456,该用户远程访问密码为root
刷新权限:flush privileges;
查看授权:select user,host from user;
这样此IP就被允许访问这个MySQL了
设置某用户任意IP远程访问权限:grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
'root'@'%'代表root用户任意访问IP
identified by '111111'此密码仅代表该远程访问的密码,与localhost方式登录的密码相互独立,比如本地localhost设置登录密码为123456,该用户远程访问密码为111111
with grant option代表将权限也赋予其他用户
这样任意IP只要用此用户访问MySQL都可以
命令行方式访问远程MySQL:mysql -h 10.11.12.237 -u root -p
-h 主机IP -u 用户 -p 回车输入密码
用Navicat工具登录
五、其他用户操作及基本操作
1、撤销权限格式:revoke 权限 on 库.表 from '用户'@‘登录主机’;
撤销用户授权:revoke all on *.* from 'root'@'10.11.12.89';
撤销权限以后权限表的数据不会删除,只是将权限为N
删除用户和登录主机:drop user 'root'@'10.11.12.89';
2、创建用户格式:create user '用户'@‘登录主机’ identified by '密码';
简单来说只要把用户的登录主机设置为%就可以用此用户远程访问,但没有授权所有无法做任何操作比如:select、insert、update、delete等
3、修改密码:update user set password=PASSWORD('密码') where user='用户' and host='登录主机';
4、显示数据库:show databases;
5、显示表:show tables;
6、查看表结构:describe 表名;
7、删除数据库:drop database 数据库名;
8、删除表:drop table 表名;
9、创建数据库:create database 数据库名;
也可以指定数据库编码格式:create database 数据库名 default character set utf8 collate utf8_general_ci;
10、创建表:create table 表名(字段名 字段类型);
自增列关键字:id int unsigned not null auto_increment
日期默认值关键字:create_time datetime not null default CURRENT_TIMESTAMP
无符号值关键字:id int unsigned not null auto_increment
主键关键字(独立一行,不在字段尾部设置):primary key (id)