设为首页 加入收藏

TOP

Mysql原理,命令,及技巧总结(二)
2014-11-24 03:18:41 来源: 作者: 【 】 浏览:18
Tags:Mysql 原理 命令 技巧 总结
l是否在自动启动列表中 [root@test1local]# /sbin/chkconfig –list
   2)把MySQL添加到系统启动服务组里面去 [root@test1local]# /sbin/chkconfig –add mysql
   3)把MySQL从启动服务组里面删除。[root@test1 local]# /sbin/chkconfig –del mysql
6、停掉与启动Mysql命令:mysqladmin -u root -pshutdown 和 /etc/rc.d/init.d/mysql start
Sql命令中的几个关键字
(1) Group by使用, 比如delete from tablename where id not in (select max(id) from tablenamegroup by col1,col2,...) 《= 删除重复数据的例子, Group By的含义是进行分组值相同的为一组,注意使用Group By 之后 Select 出来的列必须只能来自于group By 或使用聚合函数Sum, AVG, max, min等中的列:返回集字段中,这些字段要么就要包含在Group By语句的后面,作为分组的依据;要么就要被包含在聚合函数中,GroupBy与聚合函数一块使用,表示对分组后的数据进行求和,平均,最大值等。
(2) Group By 和 Having, Where ,Order by语句的执行顺序:以尽可能的减少操纵的数据为原则,显然顺序为:Where, Group By, Having, Order by,首先where将最原始记录中不满足条件的记录筛选,减少分组数据,然后Group By与Having显然是Having是基于Groupby的,顾Having在Groupby之后,而Order By在Groupby和where之前都没用用,只有在Groupby之后才起作用,顾最后。
(3) Having 的使用:Having对Group By进行限定条件,可以使用聚合函数和Groupby中的列。
(4) Left outer join 与 left inner join的区别:外连接可以包含主表的全部行,而内连接只含有匹配那行
(5) Distinct 用法,去掉重复行,类似于Linux命令中的uniq,但uniq命令只能去掉相邻的重复行,所以在用之前要进行sort
(6) SQL Sever中用法: sysobjects和syscolumns表放了数据库中的所有表名和一个表的列名,而在My SQL中使用:show tables
MySql命令
(1) Mysql的所有用户都在user表中,可以通过该表进行,增加用户,修改用户密码,删除用户,和赋予用户权限等,注意修改后要使用FLUSH PRIVILEGES进行确认,如下:
删除匿名用户:delete from User where User=""; 匿名用户的User是空
增加一个用户 INSERT INTO mysql.user (Host,User,Password) VALUES ('%','system', PASSWORD('manager'));
修改密码update User set Password=PASSWORD(newpassword) where User=root;
(1) 用Grant 命令授权,输入的代码如下:
grant select,insert,update on mydb.*to NewUserName@HostNameidentified by"password"; 如果对HostName不限制,则使用%
(2) 对用户的每一项权限进行设置: 如:
mysql>INSERT INTO user VALUES('localhost','system',PASSWORD('manager'), 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y'); 对于3.22.34版本的MySQL,这里共14个"Y",其相应的权限如下(按字段顺序排列):
权限
表列名称
相应解释
使用范围
select
Select_priv
只有在真正从一个表中检索时才需要select权限
insert
Insert_priv
允许您把新行插入到一个存在的表中
update
Update_priv
允许你用新值更新现存表中行的列
delete
Delete_priv
允许你删除满足条件的行
create
Create_priv
允许你创建新的数据库和表
数据库、表或索引
drop
Drop_priv
抛弃(删除)现存的数据库和表
数据库或表
reload
Reload_priv
允许您告诉服务器再读入授权表
服务器管理
shutdown
Shutdown_priv
可能被滥用(通过终止服务器拒绝为其他用户服务)
服务器管理
process
Process_priv
允许您察看当前执行的查询的普通文本,包括设定或改变口令查询
服务器管理
file
File_priv
权限可以被滥用在服务器上读取任何可读的文件到数据库表
服务器上文件存取
grant
Grant_priv
允许你把你自己拥有的那些权限授给其他的用户
数据库或表
references
References_priv
允许你打开和关闭记录文件
数据库或表
index
Index_priv
允许你创建或抛弃(删除)索引
alter
Alter_priv
允许您改变表格,可以用于通过重新命名表来推翻权限系统
对上面的14中权限,可以分为两种全局管理权限和数据表权限
全局管理权限:
FILE: 在MySQL服务器上读写文件。
PROCESS: 显示或杀死属于其它用户的服务线程。
RELOAD: 重载访问控制表,刷新日志等。
SHUTDOWN: 关闭MySQL服务。
数据库/数据表/数据列权限:
ALTER: 修改已存在的数据表(例如增加/删除列)和索引。
CREATE: 建立新的数据库或数据表。
DELETE: 删除表的记录。
DROP: 删除数据表或数据库。
INDEX: 建立或删除索引。
INSERT: 增加表的记录。
SELECT: 显示/搜索表的记录。
UPDATE: 修改表中已存在的记录。
特别的权限:
ALL: 允许做任何事(和root一样)。
USAGE: 只允许登录--其它什么也不允许做。
(2) 查看所有用show命令,查看当前用select函数
查看所有的数据库Show databases
创建和删除数据库create/drop database name
使用或连接数据库use databasename(),
查看当前使用的数
首页 上一页 1 2 3 4 5 6 7 下一页 尾页 2/7/7
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇搞定MySQL数据库中文模糊检索问题 下一篇MySQL数据库的其它安全问题

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·工业机器人TCP校准中 (2025-12-25 05:19:17)
·opc 通讯协议与 TCP (2025-12-25 05:19:15)
·labview中tcp/ip通信 (2025-12-25 05:19:13)
·新书介绍《Python数 (2025-12-25 04:49:47)
·怎么利用 Python 进 (2025-12-25 04:49:45)