创建用户
insert into mysql.user(Host,User,Password) values('localhost','tanzuai',password('123456'));
grant select on 数据库.* to 用户名@登录主机 identified by “密码”
//刷新系统权限表 flush privileges;
CREATE USER'username'@'host' IDENTIFIED BY 'password';
SELECT USER(); //显示当前用户
使用mysqladmin语法:mysqladmin -u用户名 -p旧密码 password 新密码
直接修改user表的用户口令:
语法:update mysql.user set password=password('新密码') where User="phplamp" and Host="localhost";
使用SET PASSWORD语句修改密码:语法:
SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');
授权
grant all on tanzuaidb.* to tanzuai@localhost identified by '123456';
flush privileges
select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14个权限,all privileges [all]
当权限1,权限2,…权限n被all privileges或者all代替,表示赋予用户全部权限。
当数据库名称.表名称被*.*代替,表示赋予用户操作服务器上所有数据库所有表的权限。
用户地址可以是localhost,也可以是ip地址、机器名字、域名。也可以用’%’表示从任何地址连接。
‘连接口令’不能为空,否则创建失败
SHOW GRANTS FOR 'pig'@'%'; //查看授权
删除用户
DELETE FROM user WHERE User=”jeecn” and Host=”localhost”
flush privileges
附:
MYSQL入门学习之一:基本操作
1、登录数据库 www.2cto.com
命令:mysql -u username –p (mysql -h主机地址 -u用户名 -p用户密码)
2、查看数据状态
命令:show database;
3、建立与删除数据库
命令:create database db;
命令:drop database db;
4、选用某个数据库
命令:use db;
命令:select database();
描述:查看当前正在使用的数据库名称
5、查看当前系统状态
命令:select now();
描述:得知现在的日期和时间
命令:select user();
描述:得知当前登录mysql的用户
命令:select version();
描述:得知当前mysql的版本
6、创建表格
命令:create table tablename (filed1,filed2,filed3,...,filedN);
描述:建立名称为tablename的表格,字段名称分别由filedN指定。
声明字段属性(filedN)的基本语法为:
字段名称 数据类型与大小 是否可以为空 是否为主键 默认值 备注
其中字段名称、数据类型与大小是一定要有的,其他可以不写。
各项的规定可以简单介绍如下:
字段名称:使用英文字母、数字和下划线比较好。不区分大小写,长度不应超过64。
数据类型与大小:例如 int、int unsigned、char(10)等。
是否为空:not null 表示这个字段不允许为空,如果没有指定,表示可以为空。
是否为主键:如果语句中包含primary key,即表示为主键。
默认值:如果写了 default 'abc'即表示该字段的默认值为 abc,如果插入新数据没有指定该字段的值,则会以默认值插入。
备注:在备注中,如果插入auto_increment语句,表示该字段在插入新数据时会自动增加(限于整型)。而在插入新数据时,该字段指定为NULL即可。
示例:create table abc (number int not null primary key auto_increment,name char(10) default 'unknow');
7、删除表格
命令:drop table tablename;。
8、显示表格状态
命令:show tables;
描述:显示数据库中建立了那些表格。
命令:desc(describe) tablename;
描述:显示名称为tablename的表格的结构。
9、表名称与结构的修改
命令:alter table tablename add fieldN+1
描述:添加一个字段进入表格,fieldN+1与上面描述写法一致。
命令:alter table oldtablename rename newtablename;
描述:修改表oldtablename名称为newtablename。
命令:alter table tablename modify filedN;
描述:修改表tablename中字段filedN的属性,filedN中指明需要改的字段名称和新的属性。
命令:alter table tablename change oldfiledN newfiledN;
描述:改变表tablename字段filedN 为filedN+1;oldfiledN只需指明需要改的字段名称,而newfiledN中需要指明新的字段名称和类型。
如:alter table newname change follow newfollow varchar(40);
命令:alter table tablename drop filedN;
描述:删除表tablename中的filedN字段。
10、创建数据库
Mysql> Create Database 数据库名;
11、创建用户并授权
Mysql> grant 权限 on 数据库名.* to 用户名@登录主机 identified by "密码";
如:grant all on test.* to test@localhost identified by "test";
12、修改密码
mysqladmin -u用户名 -p旧密码 password 新密码
13、删除用户
Mysql> use mysql;delete from user where user="zaho" host="localhost";
14、把sql文件导入数据库
mysqldump -uroot -p databasename > mysql.sql
Mysql -uroot -p databasename < d:\datasource\databasename.sql
如:mysql -utest -ptest test < h:\tmp\create.sql
性能瓶颈定位Show命令
我们可以通过show命令查看MySQL状态及变量,找到系统的瓶颈:
Mysql> show status ——显示状态信息(扩展show status like ‘XXX’)
Mysql> show variables ——显示系统变量(扩展show variables like ‘XXX’)
Mysql> show innodb status ——显示InnoDB存储引擎的状态
Mysql> show processlist ——查看当前SQL执行,包括执行状态、是否锁表等
Shell> mysqladmin variables -u username -p password——显示系统变量
Shell> mysqladmin extended-status -u username -p password——显示状态信息
查看状态变量及帮助:
Shell> mysqld –verbose –help [|more #逐行显示]
show global status like 'com_%'; 完全可以做到的.. 服务器的所有select次数,update次数,都能很清楚的看到..