MySQL数据库连接
通过客户端登录
用户选择“开始|程序|MySQL|MySQL Server 5.0|MySQL Command Line Client”菜单项,即可登录MySQL客户端。进入MySQL客户端后,输入创建时设置的密码,即可登录成功。
通过Windows命令登录
用户也可以通过Windows命令进入MySQL的客户端,方法是选择“开始|运行”菜单项,打开“运行”对话框,在“打开”文本框中输入“cmd”,然后按Enter键即可进入Windows命令对话框。直接输入“mysql–uroot –p123456”命令,即可看到登陆MySQL数据库。
查看MySQL数据库版本
连接好MySQL数据库,首先通过SELECTversion()查看数据库版本。
。
账号和管理权限
一般用户权限
MySQL中存在三个级别的权限,分别适合赋予一般用户的权限、适用于赋予管理员的权限和几个特别的权限。一般用户好比是公司的普通工人,其不能享有公司的决策等权力。分配权限应按照最少权限原则,以保证数据库的安全。通常赋予一般用户的权限如表16-1所示。
select、insert、update和delete权限,允许在一个数据库现有的表上实施操作,是基本权限。alter权限允许使用alter table,create和drop权限允许创建新的数据库和表,或抛弃(删除)现存的数据库和表。如果将MySQL数据库的drop权限授予一个用户,该用户能抛弃存储了MySQL存取权限的数据库。
用户权限 | 说 明 |
CREATE | 允许创建数据库或表 |
drop | 允许删除数据库或表 |
alter | 允许修改现有的结构和索引 |
select | 允许查询表中的记录 |
insert | 允许向表中插入数据 |
update | 允许更新表中记录 |
delete | 允许从表中删除记录 |
references | 允许管理数据库或表 |
index | 允许创建和删除索引 |
usage | 无任何权限 |
管理员权限
管理员对数据库具有一定的管理权限,但也要根据不同的需要赋予不等的权利。如新闻栏目的管理员,应该只赋予和新闻内容相关的数据库或表的管理权,应限制其操作其他的数据库和表。如表16-2所示列出了适用于管理员的权限,这些权限要小心分配。
权 限 | 描 述 |
create temporary tables | 允许管理员创建临时表 |
file | 允许在服务器上的文件存取 |
lock tables | 允许使用lock tables语句来锁定数据库表 |
process | 允许管理员查看属于所有用户的服务进程 |
reload | 允许管理员重新载入授权表、清空授权、主机、日志和表格 |
shutdown | 允许管理员关闭MySQL服务器 |
super | 允许管理员关闭属于任何用户的线程 |
show databases | 允许使用show databases语句查看数据列表。没有这个权限,用户只能查看他们能看到的数据库 |
replication slave | 允许复制从服务器连接到主服务器 |
replication client | 允许在复制主机和在主机上使用show status |
grant | 权限允许把自己拥有的那些权限授给其他的用户 |
创建新用户
grant命令
grant是授予新用户权限的命令,这些权限分为4个级别:所有权限、数据库、表、列。grant命令用来创建新用户的格式如下:
mysql>grant priv_type(columns)
on what
to user identified by"password"
with grant option
priv_type:分配给用户的权限,可以指定下列权限的任何一个权限。
columns:权限适用的列是可选的,只来设置列专有的权限,如果命名多于一个列,则用逗号分开。
what:权限应用的级别,GRANT允许系统主管在三级表上授予MySQL用户权利。
user:使用权限的用户,为了对任意主机的用户授予权利,MySQL支持以user@host格式指定用户。如果要指定含有特殊字符的用户名(例如“-”),可以用引号引起用户名或主机名字(例如,'test-user'@'test-hostname')。
password:分配给该用户的口令,此项可选。
with grant option:给此用户授予能给其他用户授予指定权限的权利,该子句是可选的。应该谨慎对待授予grant权限的用户,因为具有不同权限的两个用户也能合并权限!
查看用户权限
用户所具有的权限,可以使用showgrants语句查看,其结构形式为:
show grants for user_name
for后直接跟要查看的用户。
revoke命令
撤销用户可以使用revoke语句,其语法结构为:
revoke priv_type (columns) on what from user;
revoke命令后面是要删除的权限,on是限定权限的范围,from后是要删除的用户名。其语句除了要用from替换to并且没有identifiedby或with grant option子句外,其他与grant命令相同。