1.1 登录MYSQL:
@>mysql -u root -p
@>密码
创建用户:
格式:CREATE USER 'username'@'host' IDENTIFIED BY 'password';
username – 你将创建的用户名说明:
host – 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如果想让该用户可以从任意远程主机登陆,可以使用通配符%
例子:
CREATE USER 'javacui'@'localhost' IDENTIFIED BY '123456';
CREATE USER 'javacui'@'172.20.0.0/255.255.0.0' IDENDIFIED BY '123456';
CREATE USER 'javacui'@'%' IDENTIFIED BY '123456';
CREATE USER 'javacui'@'%' IDENTIFIED BY '';
CREATE USER 'javacui'@'%';
password – 该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登 陆服务器
授权(必须先创建用户才能再授权,直接授权会报错)
格式:GRANT privileges ON databasename.tablename TO 'username'@'host';
privileges – 用户的操作权限,如SELECT , INSERT , UPDATE 等(详细列表见该文最后面).如果要授予所 的权限则使用ALL说明:
databasename – 数据库名
tablename - 表名,如果要授予该用户对所有数据库和表的相应操作权限则可用* 表示, 如*.*
举例:
授权SELECT,INSERT
GRANT SELECT, INSERT ON test.user TO 'javacui'@'%';
授权查询、插入、修改、删除的权限
GRANT SELECT, INSERT, UPDATE, DELETE ON test.user TO 'javacui'@'%';
授权全部权限ALL
GRANT ALL ON *.* TO 'javacui'@'%';
FLUSH PRIVILEGES;
#注意:此处的"localhost",是指该用户只能在本地登录,不能在另外一台机器上远程登录。
#如果想远程登录的话,将"localhost"改为"%",
#表示在任何一台电脑上都可以登录。也可以指定某台机器可以远程登录。
注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令
GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;
撤销用户权限
REVOKE privileges ON databasename.tablename FROM 'username'@'host';
例子说明: privilege, databasename, tablename – 同授权部分
REVOKE SELECT ON *.* FROM 'javacui'@'%';
方法一:
设置与更改用户密码
SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');
如果是当前登陆用户用
SET PASSWORD = PASSWORD("newpassword");
方法二:
用UPDATE直接编辑user表
mysql -u root -p 密码
mysql> use mysql;
mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';
mysql> FLUSH PRIVILEGES;
在丢失root密码的时候,可以这样
mysqld_safe --skip-grant-tables&
mysql -u root -p
mysql> use mysql;
mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='root';
mysql> FLUSH PRIVILEGES;
方法一:
改表法。
可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql -u root -p
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
方法二:
授权法。
例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器的dk数据库,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
修改登录的ip更多请参考数据库可以远程连接或者说用IP地址可以访问
@>mysql -u root -p
@>密码
mysql>Delete FROM user Where User='test' and Host='localhost';
mysql>flush privileges;
mysql>drop database testDB; //删除用户的数据库
删除账户及权限:
>drop user 用户名@'%';
>drop user 用户名@ localhost;
mysql>show database;
mysql>use '数据库名';
mysql>show tables;
mysql>describe 表名;
mysql>drop database 数据库名;
mysql>drop table 数据表名;
备注:操作之前使用“use <数据库名>”应连接某个数据库。
命令:create table <表名> (<字段名 1> <类型 1> [,..<字段名 n> <类型 n>]);
例子:
mysql> create table MyClass(
> id int(4) not null primary key auto_increment,
> name char(20) not null,
> sex int(4) not null default '0',
> degree double(16,2));
命令: desc 表名,或者show columns from 表名
例子:
mysql> describe MyClass
mysql> desc MyClass;
mysql> show columns from MyClass;
命令:drop table <表名>
例如:删除表名为 MyClass 的表
mysql> drop table MyClass;
命令:insert into <表名> [( <字段名 1>[,..<字段名 n > ])] values ( 值 1 )[, ( 值 n )]
例子:
mysql> insert into MyClass values(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59);
查询所有行
mysql> select * from MyClass;
例如:查看表 MyClass 中前 2 行数据
mysql> select * from MyClass order by id limit 0,2;
或者
mysql> select * from MyClass limit 0,2;
命令:delete from 表名 where 表达式
例如:删除表 MyClass 中编号为 1 的记录
mysql> delete from MyClass where id=1;
命令:update 表名 set 字段=新值,... where 条件
mysql> update MyClass set name='Mary' where id=1;
命令:alter table 表名 add 字段 类型 其他;
例如:在表 MyClass 中添加了一个字段 passtest,类型为 int(4),默认值为 0
mysql> alter table MyClass add passtest int(4) default '0'
命令:rename table 原表名 to 新表名;
例如:在表 MyClass 名字更改为 YouClass
mysql> rename table MyClass to YouClass;
命令:update 表名 set 字段名 = 新内容
update 表名 set 字段名 = replace(字段名, '旧内容', '新内容');
例如:文章前面加入 4 个空格
update article set content=concat(' ', content);