a.数据库在本地
1.找到目录
2.添加数据
b.数据库在远程
1.socket连接上远程机器
2.soket发送(命令)#add/随便的数据
做些什么??
A.程序
程序,socket客户端
B.数据
socket服务端
C.制作一套规则
add/随便的数据
delate/随便的数据
D.socket客户端和服务端用户认证,授权,限制
有人搞了一套软件:
socket客户端
B,数据
socket客户端
c,制作一套规则
add/随便的数据
delate/随便的数据
...
D,socket客户端和服务端用户认证,授权,限制
以上软件sqlserver(收费)微软开发的 功能强大
oracle(收费)
客户端连接
使用windows服务
例cmd C:\mysql1\mysql-5.7.22-win32\bin\mysqld --install
net start mysql(启动服务)
MYSQL基础
初始:
show database; #查看当前mysql都有哪些数据,根目录有哪些文件夹
create database 数据库名; 创建数据库(文件夹)
use 数据库名; #使用选中数据库,进入目录
show tables; #查看当前数据库下都有哪些表
create table 表名(nid int,name varchar(20),pwd varchar(64)); #创建数据库表
selsct * from 表名; #查看表中所有数据
instert into 表名(nid,name,pwd)values(1,'alex','123'); #插入数据
授权
1.show databases;
2.use mysql;
3.show tables;
4.selet host from user;
用户管理特殊命令;
创建用户
create user '用户名'@'IP地址' identified by '密码';
删除用户
drop use '用户名'@'IP地址';
修改用户
rename user '用户名'@'IP地址';to '新用户名'@'IP地址';
修改密码
set password for '用户名'@'IP地址'=password('新密码');
权限管理:
默认,什么都没有;
grant 权限 on 数据库.表 to '用户'@'IP地址'--授权
grant select on test.abc to sgh@localhost;
select,查
数据库.表
例
test.tb1 #test数据库中tb1可查
test.*#test数据库中表全可查
*.*#所有数据库所有表全可查授权管理
show grants for '用户'@'IP地址' -- 查看权限
grant 权限 on 数据库.表 to '用户'@'IP地址' -- 授权
revoke 权限 on 数据库.表 from '用户'@'IP地址' -- 取消权限
复制代码
all privileges 除grant外的所有权限
select 仅查权限
select,insert 查和插入权限
...
usage 无访问权限
alter 使用alter table
alter routine 使用alter procedure和drop procedure
create 使用create table
create routine 使用create procedure
create temporary tables 使用create temporary tables
create user 使用create user、drop user、rename user和revoke all privileges
create view 使用create view
delete 使用delete
drop 使用drop table
execute 使用call和存储过程
file 使用select into outfile 和 load data infile
grant option 使用grant 和 revoke
index 使用index
insert 使用insert
lock tables 使用lock table
process 使用show full processlist
select 使用select
show databases 使用show databases
show view 使用show view
update 使用update
reload 使用flush
shutdown 使用mysqladmin shutdown(关闭MySQL)
super 使用change master、kill、logs、purge、master和set global。还允许mysqladmin调试登陆
replication client 服务器位置的访问
replication slave 由复制从属使用
复制代码
对于目标数据库以及内部其他:
数据库名.* 数据库中的所有
数据库名.表 指定数据库中的某张表
数据库名.存储过程 指定数据库中的存储过程
*.* 所有数据库
用户名@IP地址 用户只能在改IP下才能访问
用户名@192.168.1.% 用户只能在改IP段下才能访问(通配符%表示任意)
用户名@% 用户可以再任意IP下访问(默认IP地址为%)
复制代码
grant all privileges on db1.tb1 TO '用户名'@'IP'
grant select on db1.* TO '用户名'@'IP'
grant select,insert on *.* TO '用户名'@'IP'
revoke select on db1.tb1 from '用户名'@'IP'
复制代码
特殊的:
flush privileges,将数据读取到内存中,从而立即生效。
复制代码
启动免授权服务端
mysqld --skip-grant-tables
客户端
mysql -u root -p
修改用户名密码
update mysql.user set authentication_string=password('666') where user='root';
flush privileges;