史上最全的ubuntu服务器搭建环境教程~~~ ubuntu服务器搭建环境~~~
1. 先安装xshell:远程服务器连接(取代直接在浏览器 上 访问)
2. 安装xftp(ftp⽂件传输)直接双击红⾊圈圈即可
3. 安装mysql数据库:
指令:sudo apt-get update
sudo apt-get install mysql-server mysql-client
判断是否已经安装成功:sudo netstat -tap | grep mysql
(如果发现数据库已经在监听某个端⼝了,说明已经安装成功)
4. mysql⽤户操作(新建⽤户,权限分配,远程登录)
介绍:
1.权限表
MYSQL是⼀个多⽤户的数据库,MYSQL的⽤户可以分为两⼤类:
(1)超级管理员⽤户(root),拥有全部权限
(2)普通⽤户,由root创建,普通⽤户只拥有root所分配的权限
1.1 权限表的位置
数据库:mysql
与权限相关的数据表:user,db,host,tables_priv,columns_priv,procs_priv等
echoes1.2 user表
User表存储了:
(1)⽤户的信息:hots(⽤户所在的主机),user(⽤户名),password(密码)
(2)⽤户的权限信息:_priv
(3)安全性相关的信息:ssl_,x509,记录⽤户登录的验证操作等
(4)与资源分配相关的信息:max_,
max_questions表⽰⽤户在⼀个⼩时内最多可以进⾏的查询次数。
wps表格count函数怎么用max_updates表⽰⽤户在⼀个⼩时内最多可以进⾏的更新次数,也包括增加数据、删除数据。
Max_connections:表⽰⽤户最多可以建⽴的连接数
1.2.1 user表的内容
(1)host列
Localhost表⽰本机的⽤户或者超级管理员
%表⽰任何主机上的root⽤户
说明:_priv权限是全局权限,不受数据库的范围限制
1.3 DB表
(1)与⽤户相关的字段:host(⽤户所在的主机),user(⽤户名),
(2)与权限相关的字段:_priv,DB字段规定了_priv权限的有效范围。
1.4 host表
(1)与⽤户相关的字段:host(⽤户所在的主机)
(2)与权限相关的字段:_priv,DB字段规定了_priv权限的有效范围。
说明:
(1)记录主机上的⽤户对数据库拥有的权限,侧重点在主机,⽽不在⽤户,例如假设select_priv=Y,那个这个主机上的所有数据库⽤户都拥有select权限。
(2) Host表的优先级⼤于db表,如果db表规定这个⽤户没有权限,但是host表规定了这台主机的⽤户有权限,那么db的这个⽤户也是拥有权限的。
1.5 tables_priv表
设定了⽤户对某个表拥有的权限,该表记录了⽤户的信息,以及某个表的权限信息table_priv(select ,lnsert,alter等等),以及表上的某个列的权限信息column_priv。
1.6 column_priv表
记录某⽤户对某表的某个列所拥有的权限。
1.7procs_priv 表
规定了⽤户关于存储过程及存储函数的操作权限,主要字段:proc_priv
2. 创建数据库⽤户
2.1 创建普通⽤户
2.1.1 CREATE USER
CREATE USER ‘⽤户名称’ [@’主机名称’]
例:CREATE USER 'user1';
验证是否创建成功:
mysql> SELECT user FROM mysql.user;(也可先use mysql;再select user from user;下⾯同理)
说明:使⽤CREATE USER来创建的⽤户,均⽆任何权限,user表的权限字段的值均为N
(1)创建带有主机名的⽤户
CREATE USER ‘⽤户名称’ [@’主机名称’]
CREATE USER 'user2' @'localhost';
mysql> create user 'admin'@localhost;
mysql>select user,host from user;
说明:host字段的%表⽰不受任何主机的限制
mysql> create user 'admin'@'%';
(2)创建带密码的⽤户
CREATE USER 'user3' @'localhost'  [INDENTIFIED BY ‘⽤户密码’];
eg:
CREATE USER 'user3' @'localhost' IDENTIFIED BY '123333';
验证:
java框架教程视频mysql> SELECT user,authentication_string,host FROM user;(mysql5.7的password字段变成了authentication_string)
注意:密码是哈希码的形式显⽰的
2.1.2 使⽤GRANT来创建⽤户,以及授予权限
GRANT是⽤来给⽤户授权的,但是也可以⽤来创建⽤户,GRANT在给⽤户进⾏授权的时候,如果⽤户是不存在的,那么GRANT会⾃动创建这个⽤户,然后再给这个⽤户进⾏授权。
(1)添加权限
grant 权限 on 数据库.表 to '⽤户名'@'登录主机'  [INDENTIFIED BY ‘⽤户密码’];
权限: select ,update,delete,insert(表数据)、create,alert,drop(表结构)、references(外键)、create te
mporary tables(创建临时表)、index(操作索引)、create view,show view(视图)、create routine,alert routine,execute(存储过程)、all,all privileges(所有权限)
数据库:数据库名或者*(所有数据库)
表:表名或者*(某数据库下所有表),*.*表⽰所有数据库的所有表
主机:主机名或者%(任何其他主机)
eg:
mysql> grant all privileges on *.* to root@192.168.0.1 identified by 'root';
赋予root@192.168.0.1使⽤所有数据库的权限,在主机192.168.0.1上使⽤root账户登录,密码为:root
mysql> grant all privileges on *.* to root@'%' identified by 'root';(表⽰%(任何其他主机))
例:grant select,insert,update,delete on *.* to 'jifei'@'%';
mysql>GRANT SELECT ON *.* TO 'user4' @'localhost' IDENTIFIED BY '123333';
(2) 为⽤户授予指定数据库、指定表、指定列的权限:
GRANT UPDATE(cid,cname) ON mysqlpart2.custom TO 'user3'@'localhost';
授权成功后,可以在以下表中查看到授权信息:
数据库: mysql » 表: tables_priv "Table privileges"
数据库: mysql » 表: columns_priv "Column privileges"
(3)⽤户权限表
位置:数据库: information_schema »表: USER_PRIVILEGES
表的说明:
GRANTEE:授权者
PRIVILEGE_TYPE:权限名称
⽤户表:数据库: mysql »表: user "Users and global privileges"
说明:user表中,”_priv”的值域USER_PRIVILEGES表的PRIVILEGE_TYPE的值是⼀⼀对应的。
(4)权限的层级关系
①权限的层级关系,就是指权限的适⽤范围。
②权限的最⾼层级是全局级,所谓全局级就是可以在任何数据库的任何数据表上进⾏操作。
③数据库级:只能在某个数据库上进⾏操作。
④表级:权限信息所在位置:数据库: mysql »表: tables_priv "Table privileges"
⑤列级:权限信息所在位置:数据库: mysql »表: columns_priv "Column privileges"
⑥⼦程序级:权限信息所在位置:数据库: mysql »表: procs_priv "Procedure privileges"
(5)撤销权限
REVOKE 权限 ON 数据库.表 FROM  '⽤户名'@'登录主机;
说明:赋权与撤销权限的区别,就是REVOKE是将to改为from卡图片大全
例:revoke all on *.* from  ‘jifei’  @’%’;
REVOKE UPDATE(cid,cname) ON mysqlpart2.custom FROM 'user3'@'localhost';
(6) 查看权限
SHOW GRANTS;//⾃⼰
SHOW GRANTS FOR  ⽤户名称@主机名称;
例:
mysql>show grants;
mysql>show grants for admin@localhost
说明:所有SHOW关键字后⾯的词都是复数,所有CREATE关键字后⾯的词都是单数
通过lumns_priv表来查看权限:
SELECT * lumns_priv WHERE user='user3' AND host='localhost';
mysql> SELECT * lumns_priv WHERE user='user3' AND host='localhost';
2.1.3 关于以直接向user表插⼊记录的⽅式来创建⽤户
可以使⽤INSERT的⽅式,直接向user表插⼊记录,以此来创建⽤户,但是因为user表的字段很多,⽽且全部字段均不允许为空,这就需要为每⼀个列赋值,所以不推荐使⽤这种⽅式来创建⽤户。
2.1.4 CREATE USER 与 GRANT 两种⽅式创建⽤户的区别
(1)CREATE USER 创建⽤户的优点:语法简单
(2)CREATE USER 创建⽤户的不⾜:⽤户⽆权限
(3)GRANT 创建⽤户的优势:创建的⽤户有权限
(4)GRANT 创建⽤户的不⾜:语法较CREATE USER 繁琐
3. 删除MYSQL的⽤户游戏编程代码大全复制球球大作战
delete from mysql.user where user='⽤户名称' and host='主机名称';
例:DELETE FROM mysql.user WHERE user='user3' AND host='localhost';
删除后使⽤:FLUSH PRIVILEGES 来刷新权限
说明:
使⽤DELETET删除⽤户后,必须使⽤FLUSH PRIVILEGES 来刷新权限,否则将⽆法继续创建⽤户名与已删⽤户的⽤户名相同的⽤户,即使在user表中看不到已删除的⽤户,如果不刷新权限,也是⽆法再新建的。
例:
删除⽤户user3:
mysql> DELETE FROM mysql.user WHERE user='user3' AND host='localhost';
Query OK, 1 row affected (0.00 sec)
mysql查看所有存储过程查看⽤户表,user3已删除成功:
mysql> select user from mysql.user;
+-------+
| user  |
+-------+
| user1 |
| root  |
| root  |
|      |
| pma  |

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。