一、常用命令
- 登录:mysql -u username -p 之后输入username的密码
- 显示全部的数据库: show databases;
- 使用某一个数据库:use databasename;
- 显示一个数据库的全部表:show tables;
- 退出: quit;
- 添加数据库:create database 数据库名;
- 添加数据表:create table 数据表名;
- 删除数据库:drop database 数据库名;
- 删除数据表:drop table 数据表名;
- 显示数据表内容:describe 表名
- 清空表中内容: delete from 表名
- 显示表中记录: select * from 表名
- 更新表中数据:mysql>update MYTABLE set sex="f" where name='hyq';
- 导出数据:mysqldump --opt test > mysql.test
即将数据库test数据库导出到mysql.test文件,后者是一个文本文件
如:mysqldump -u root -p123456 --databases dbname > mysql.dbname
就是把数据库dbname导出到文件mysql.dbname中。
- 导入数据: mysqlimport -u root -p123456 < mysql.dbname。
- 将文本数据导入数据库: 文本数据的字段数据之间用tab键隔开。
use test;
load data local infile "文件名" into table 表名;
- 往表中加入记录 mysql> insert into MYTABLE values ("hyq","M");
用文本方式将数据装入数据库表中(例如D:/mysql.txt)
mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE
- 导入.sql文件命令(例如D:/mysql.sql)
mysql>use database; mysql>source d:/mysql.sql;
备份数据库 mysqldump -u root 库名>xxx.data
------------------------------------------------------------------------------------------------------------------------------------------
二、用户管理:
1.新建用户
#mysql -u root -p //登录MYSQL
--> 输入密码
mysql> insert into mysql.user(Host,User,Password) values(‘localhost’,'test',password('123'));//创建用户
mysql>flush privileges; //刷新系统权限表
这样就创建了一个名为:test 密码为:123 的用户。
mysql>exit;//退出后登录一下
#mysql -u lwd -p
#输入密码
mysql>登录成功
2.为用户授权
格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"
#mysql -u root -p //登录MYSQL(有ROOT权限)。我里我以ROOT身份登录。
#密码
//首先为用户创建一个数据库(testDB)
mysql>create database testDB;
#grant all privileges on testDB.* to test@localhost identifiedby '123'; //授权test用户拥有testDB数据库的所有权限
mysql>flush privileges; //刷新系统权限表
mysql>其它操作
//如果想指定部分权限给一用户,可以这样来写:
mysql>grant select,update on lwdDB.* to lwd@localhost identifiedby 'lwd';
mysql>flush privileges; //刷新系统权限表。
mysql> grant权限1,权限2,…权限n on 数据库名称。表名称 to用户名@用户地址 identified by ‘连接口令’;
权限1,权限2,…权限n代表select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14个权限。
当权限1,权限2,…权限n被all privileges或者all代替,表示赋予用户全部权限。
当数据库名称。表名称被*.*代替,表示赋予用户操作服务器上所有数据库所有表的权限。
用户地址可以是localhost,也可以是ip地址、机器名字、域名。也可以用’%’表示从任何地址连接。
‘连接口令’不能为空,否则创建失败。
例如:
mysql>grant select,insert,update,delete,create,drop onvtdc.employee to lwd@10.163.225.87 identified by ‘123′;
给来自10.163.225.87的用户lwd分配可对数据库vtdc的employee表进行select,insert,update,delete,create,drop等操作的权限,并设定口令为123。
mysql>grant all privileges on vtdc.* to lwd@10.10.10.87 identifiedby ‘123′;
给来自10.163.225.87的用户lwd分配可对数据库vtdc所有表进行所有操作的权限,并设定口令为123。
mysql>grant all privileges on *.* to lwd@10.10.10.87 identifiedby ‘123′;
给来自10.163.225.87的用户lwd分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。
mysql>grant all privileges on *.* to lwd@localhost identifiedby ‘123′;
给本机用户lwd分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。
3.删除用户
#mysql -u root -p
#密码
mysql>DELETE FROM user WHERE User=”lwd” and Host=”localhost”;
mysql>flush privileges;
//删除用户的数据库
mysql>drop database lwdDB;
4.修改指定用户密码
#mysql -u root -p
#密码
mysql>update mysql.user set password=password(‘新密码’) whereUser=”lwd” and Host=”localhost”;
mysql>flush privileges;
mysql>quit;
-------------------------------------------------------------------------------------------------------------
Example:连接到远程主机上的MYSQL
假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:
mysql -h110.110.110.110 -uroot -pabcd123
(注:u与root可以不用加空格,其它也一样)