初始化
1.mysqld --initialize --console这时会在控制台输出一个临时密码,把它存储起来2.mysqld install 安装mysql
3.net start mysql 启动mysql服务
4.mysql -uroot -p 登陆
5.password 密码(在data的err文件)
6.alter user 'root'@'localhost' identified by 'root';改密码
alter user 'root'@'localhost' identified by "password";
alter user 'root'@'localhost' identified with mysql_native_password by "root";
alter user 'root'@'localhost' identified with caching_sha2_password by "root";
————————————————
————————————————
————————————————
-- SqlServer(收费),Oracle,sqlite,access...,,,, MySQL
MySQL,SqlServer(收费),Oracle,sqlite,access..
服务端和客户端
mysql:
add|asdfasd
SqlServer:
a|asdfasdf
二、下载安装
1、下载
2、解压到任意目录
3、服务器端运行起来
mysqld
4、客户端连接
省事:
将mysql服务端制作成一个Windows服务
net start mysql
net stop mysql
===,打开服务管理,直接...
三、MySQL数据库
1、概念
-
- 数据库, 文件夹
- 数据库表, 文件
- 数据行, 文件中的一行数据
2、启动服务器:
-
- net start mysql
- 或
- C:mysql-5.7.16-winx64mysql-5.7.16-winx64mysql
- 客户端连接:
- C:mysql-5.7.16-winx64mysql-5.7.16-winx64mysql -u root -p
初试:
-
- show databases; # 查看当前Mysql都有那些数据,根目录都有那些文件夹
- create database 数据库名; # 创建文件夹
- use 数据库名; # 使用选中数据库,进入目录
- show tables; # 查看当前数据库下都有那些表,
- create table 表名(nid int,name varchar(20), pwd varchar(64)); # 创建数据库表
- select * from 表名; # 查看表中的所有数据
- insert into 表名(nid,name,pwd) values(1,'alex','123'); # 插入数据
- -- select * from 表名;
3、用户授权
-
- 用户管理特殊命令:
- 创建用户
- create user '用户名'@'IP地址' identified by '密码';
- 删除用户
- drop user '用户名'@'IP地址';
- 修改用户
- rename user '用户名'@'IP地址'; to '新用户名'@'IP地址';;
- 修改密码
- set password for '用户名'@'IP地址' = Password('新密码')
- c:mysql-5.7.16-winx64mysql-5.7.16-winx64inmysql -u
权限:
默认,什么都没有grant 权限 on 数据库.表 to '用户'@'IP地址' -- 授权select,查数据库.表test.tb1/test.*/*.*
'用户'@'IP地址'xiaohu@localhost
-
- #创建账号、分配权限
- CREATE USER 'sky'@'localhost' IDENTIFIED BY 'password';
- GRANT ALL PRIVILEGES ON *.* TO 'sky'@'localhost' WITH GRANT OPTION;
- CREATE USER 'sky'@'%' IDENTIFIED BY 'password';
- GRANT ALL PRIVILEGES ON *.* TO 'sky'@'%' WITH GRANT OPTION;
- CREATE USER 'sky'@'localhost' IDENTIFIED BY 'password';
- GRANT RELOAD,PROCESS ON *.* TO 'sky'@'localhost';
- #显示账号及权限相关信息
- SHOW GRANTS FOR 'sky'@'localhost';
- SHOW CREATE USER 'sky'@'localhost'
- ————————————————
-
grant all privileges on *.* to 'test1'@'localhost' with grant option;
with gran option表示该用户可给其它用户赋予权限,但不可能超过该用户已有的权限比如a用户有select,insert权限,也可给其它用户赋权,但它不可能给其它用户赋delete权限,除了select,insert以外的都不能这句话可加可不加,视情况而定。
all privileges 可换成select,update,insert,delete,drop,create等操作如:grant select,insert,update,delete on *.* to 'test1'@'localhost';
第一个*表示通配数据库,可指定新建用户只可操作的数据库如:grant all privileges on 数据库.* to 'test1'@'localhost';
第二个*表示通配表,可指定新建用户只可操作的数据库下的某个表如:grant all privileges on 数据库.指定表名 to 'test1'@'localhost';
-
查看用户授权信息show grants for 'test1'@'localhost';
-
撤销权限revoke all privileges on *.* from 'test1'@'localhost';
-
用户有什么权限就撤什么权限
-
删除用户drop user 'test1'@'localhost';
===========重要,远程连接=================================
-
- a. 解放双手,在重复操作文件,直接将命令发送给mysql服务端,自动操作
- b. 数据库,表,行
- c. 开户和授权
- 密码,必须用
- 其他,推荐用
- d. 客户端连接(MySQL提供的客户端)
1、 mysql -u root -h 192.168.1.1 -p# 输入密码
2、 初试:
- show databases; # 查看当前Mysql都有那些数据,根目录都有那些文件夹
- create database 数据库名; # 创建文件夹
- use 数据库名; # 使用选中数据库,进入目录
- show tables; # 查看当前数据库下都有那些表,
- create table 表名(nid int,name varchar(20), pwd varchar(64)); # 创建数据库表
- select * from 表名; # 查看表中的所有数据
- insert into 表名(nid,name,pwd) values(1,'alex','123'); # 插入数据
- -- select * from 表名;
4、 SQL语句
-
- 数据库级别
- SHOW DATABASES;
- CREATE DATABASE 数据库名称;
- CREATE DATABASE 数据库名称 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
- USE 数据库名称;
- drop database 数据库名称;
- 表级表
- show tables;desc tb1;