MySQL命令
(注:一 and 二 段里所有的操作,是在dos中指定到mysql安装目录下进行操作的)
一) 连接MYSQL:
格式: mysql -h主机地址 -u用户名 -p用户密码
1、例1:连接到本机上的MYSQL
首先在打开DOS窗口,然后进入mysql安装目录下的bin目录下,例如: D:/mysql/bin,
再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是
没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>
2、例2:连接到远程主机上的MYSQL
假设远程主机的IP为:10.0.1.1,用户名为root,密码为roottest。则键入以下命令:
mysql -h10.0.1.1 -uroot -proottest
(注:-h与后面的远程主机的IP,u与root最好不要加空格)
3、退出MYSQL命令
exit (回车)
quit(回车)
(二) 修改密码:
格式:mysqladmin -u用户名 -p旧密码 password 新密码
1、例1:给root加个密码123。首先在DOS下进入目录C:/mysql/bin,然后键入以下命令:
mysqladmin -uroot -password 123
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
2、例2:再将root的密码改为456
mysqladmin -uroot -p123 password 456
(三) 增加新用户:(注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为
命令结束符)
格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"
例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、
修改、删除的权限。首先用以root用户连入MYSQL,然后键入以下命令:
grant select,insert,update,delete on *.* to test1@"%" Identified by "abc"; 但例1增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的
任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见例2。
例2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、
插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用
知道test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。
grant select,insert,update,delete on mydb.* to test2@localhost identified
by "abc";
如果你不想test2有密码,可以再打一个命令将密码消掉。
grant select,insert,update,delete on mydb.* to test2@localhost identified by "";
(四) 显示命令
1、显示数据库列表:
show databases; 刚开始时才两个数据库:mysql和test。mysql库很重要它里面有MYSQL的系统信息,
我们改密码和新增用户,实际上就是用这个库进行操作。
2、显示库中的数据表:
use mysql;
show tables;
3、显示数据表的结构:
describe tablename;
4、建库:
create database databasename;
5、建表:
use 库名; create table tablename (字段......);
6、删库和删表:
drop database databasename; drop table tablename;
7、将表中记录清空:
delete from tablename;
8、显示表中的记录:
select * from tablename;
附注表user中字段的含义(未测试)
权限 | 表列名称 | 相应解释 | 使用范围 |
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 | 允许您改变表格,可以用于通过重新命名表来推翻权限系统 | 表 |