mysql命令
一、初试命令
show databases; #查看当前Mysql都有那些数据,根目录都有那些文件夹
create database 数据库名; #创建文件夹
use 数据库名; #使用选中数据库,进入目录
show tables; #查看当前数据库下都有那些表,
create table 表名(nid int,name varchar(20), pwd varchar(64)); #创建数据库表
select * from 表名; #查看表中的所有数据
insert into 表名(nid,name,pwd) values(1,\'alex\',\'123\'); #插入数据
select * from 表名; #查看表中数据
drop database 库名; #删除数据库
示例:
1 [root@mysql ~]# mysql -uroot -p #再输入密码 2 Welcome to the MySQL monitor. Commands end with ; or \g. 3 Your MySQL connection id is 4 4 Server version: 5.5.49 MySQL Community Server (GPL) 5 6 Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. 7 8 Oracle is a registered trademark of Oracle Corporation and/or its 9 affiliates. Other names may be trademarks of their respective 10 owners. 11 12 Type \'help;\' or \'\h\' for help. Type \'\c\' to clear the current input statement. 13 14 15 #创建数据库 16 mysql> create database test1; 17 Query OK, 1 row affected (0.02 sec) 18 19 20 #进入test1库中 21 mysql> use test1; 22 Database changed 23 24 #创建表tb1(nid和name字段) 25 mysql> create table tb1(nid int,name varchar(20)); 26 Query OK, 0 rows affected (0.06 sec) 27 28 #创建tb2 (nid和name字段) 29 mysql> create table tb2(nid int,name varchar(20)); 30 Query OK, 0 rows affected (0.01 sec) 31 32 #查看表 33 mysql> show tables; 34 +-----------------+ 35 | Tables_in_test1 | 36 +-----------------+ 37 | tb1 | 38 | tb2 | 39 +-----------------+ 40 2 rows in set (0.01 sec) 41 42 #查看tb1表中数据 43 mysql> select * from tb1; 44 Empty set (0.01 sec) #没有数据 45 46 #往表中插入数据 47 mysql> insert into tb1(nid,name)values(1,\'alex\'); 48 Query OK, 1 row affected (0.01 sec) 49 50 #往表中插入数据 51 mysql> insert into tb1(nid,name)values(1,\'eric\'); 52 Query OK, 1 row affected (0.01 sec) 53 54 #查看tb1表中数据 55 mysql> select * from tb1; 56 +------+------+ 57 | nid | name | 58 +------+------+ 59 | 1 | alex | 60 | 1 | eric | 61 +------+------+ 62 2 rows in set (0.00 sec) 63 64 #退出 65 mysql> exit 66 Bye
#查看mysql库中user表中的字段
1 #查看数据库 2 mysql> show databases; 3 +--------------------+ 4 | Database | 5 +--------------------+ 6 | information_schema | 7 | mysql | 8 | performance_schema | 9 | test1 | 10 +--------------------+ 11 4 rows in set (0.00 sec) 12 13 14 #进入mysql库 15 mysql> use mysql 16 Database changed 17 18 #查看表 19 mysql> show tables; 20 +---------------------------+ 21 | Tables_in_mysql | 22 +---------------------------+ 23 | columns_priv | 24 | db | 25 | event | 26 | func | 27 | general_log | 28 | help_category | 29 | help_keyword | 30 | help_relation | 31 | help_topic | 32 | host | 33 | ndb_binlog_index | 34 | plugin | 35 | proc | 36 | procs_priv | 37 | proxies_priv | 38 | servers | 39 | slow_log | 40 | tables_priv | 41 | time_zone | 42 | time_zone_leap_second | 43 | time_zone_name | 44 | time_zone_transition | 45 | time_zone_transition_type | 46 | user | 47 +---------------------------+ 48 24 rows in set (0.00 sec) 49 50 51 #查看user表(横状显示) 52 mysql> select * from user; 53 +-----------+------+-------------------------------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+--------+-----------------------+ 54 | Host | User | Password | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Show_db_priv | Super_priv | Create_tmp_table_priv | Lock_tables_priv | Execute_priv | Repl_slave_priv | Repl_client_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Create_user_priv | Event_priv | Trigger_priv | Create_tablespace_priv | ssl_type | ssl_cipher | x509_issuer | x509_subject | max_questions | max_updates | max_connections | max_user_connections | plugin | authentication_string | 55 56 省略部分...... 57 58 59 #坚状显示user表 60 mysql> desc user; 61 +------------------------+-----------------------------------+------+-----+---------+-------+ 62 | Field | Type | Null | Key | Default | Extra | 63 +------------------------+-----------------------------------+------+-----+---------+-------+ 64 | Host | char(60) | NO | PRI | | | 65 | User | char(16) | NO | PRI | | | 66 | Password | char(41) | NO | | | | 67 | Select_priv | enum(\'N\',\'Y\') | NO | | N | | 68 | Insert_priv | enum(\'N\',\'Y\') | NO | | N | | 69 | Update_priv | enum(\'N\',\'Y\') | NO | | N | | 70 | Delete_priv | enum(\'N\',\'Y\') | NO | | N | | 71 | Create_priv | enum(\'N\',\'Y\') | NO | | N | | 72 | Drop_priv | enum(\'N\',\'Y\') | NO | | N | | 73 | Reload_priv | enum(\'N\',\'Y\') | NO | | N | | 74 | Shutdown_priv | enum(\'N\',\'Y\') | NO | | N | | 75 | Process_priv | enum(\'N\',\'Y\') | NO | | N | | 76 | File_priv | enum(\'N\',\'Y\') | NO | | N | | 77 | Grant_priv | enum(\'N\',\'Y\') | NO | | N | | 78 | References_priv | enum(\'N\',\'Y\') | NO | | N | | 79 | Index_priv | enum(\'N\',\'Y\') | NO | | N | | 80 | Alter_priv | enum(\'N\',\'Y\') | NO | | N | | 81 | Show_db_priv | enum(\'N\',\'Y\') | NO | | N | | 82 | Super_priv | enum(\'N\',\'Y\') | NO | | N | | 83 | Create_tmp_table_priv | enum(\'N\',\'Y\') | NO | | N | | 84 | Lock_tables_priv | enum(\'N\',\'Y\') | NO | | N | | 85 | Execute_priv | enum(\'N\',\'Y\') | NO | | N | | 86 | Repl_slave_priv | enum(\'N\',\'Y\') | NO | | N | | 87 | Repl_client_priv | enum(\'N\',\'Y\') | NO | | N | | 88 | Create_view_priv | enum(\'N\',\'Y\') | NO | | N | | 89 | Show_view_priv | enum(\'N\',\'Y\') | NO | | N | | 90 | Create_routine_priv | enum(\'N\',\'Y\') | NO | | N | | 91 | Alter_routine_priv | enum(\'N\',\'Y\') | NO | | N | | 92 | Create_user_priv | enum(\'N\',\'Y\') | NO | | N | | 93 | Event_priv | enum(\'N\',\'Y\') | NO | | N | | 94 | Trigger_priv | enum(\'N\',\'Y\') | NO | | N | | 95 | Create_tablespace_priv | enum(\'N\',\'Y\') | NO | | N | | 96 | ssl_type | enum(\'\',\'ANY\',\'X509\',\'SPECIFIED\') | NO | | | | 97 | ssl_cipher | blob | NO | | NULL | | 98 | x509_issuer | blob | NO | | NULL | | 99 | x509_subject | blob | NO | | NULL | | 100 | max_questions | int(11) unsigned | NO | | 0 | | 101 | max_updates | int(11) unsigned | NO | | 0 | | 102 | max_connections | int(11) unsigned | NO | | 0 | | 103 | max_user_connections | int(11) unsigned | NO | | 0 | | 104 | plugin | char(64) | YES | | | | 105 | authentication_string | text | YES | | NULL | | 106 +------------------------+-----------------------------------+------+-----+---------+-------+ 107 42 rows in set (0.01 sec) 108 109 110 #查看user表中,host和user字段中的内容 111 mysql> select host,user from user; 112 +-----------+------+ 113 | host | user | 114 +-----------+------+ 115 | 127.0.0.1 | root | 116 | localhost | root | 117 +-----------+------+ 118 2 rows in set (0.00 sec)
二、用户授权
用户管理特殊命令:
创建用户
create user \'用户名\'@\'IP地址\' identified by \'密码\';
1 #授权nulige用户本地登录mysql,密码是:oldboy123 2 mysql> create user nulige@localhost identified by \'oldboy123\'; 3 Query OK, 0 rows affected (0.01 sec) 4 5 #查看user表中,host和user字段的内容 6 mysql> select host,user from user; 7 +-----------+--------+ 8 | host | user | 9 +-----------+--------+ 10 | 127.0.0.1 | root | 11 | localhost | nulige | 12 | localhost | root | 13 +-----------+--------+ 14 3 rows in set (0.00 sec) 15 16 mysql> exit; 17 Bye 18 19 #用刚创建的用户登录 20 [root@mysql ~]# mysql -unulige -p 21 Enter password: 22 Welcome to the MySQL monitor. Commands end with ; or \g. 23 Your MySQL connection id is 7 24 Server version: 5.5.49 MySQL Community Server (GPL) 25 Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. 26 Oracle is a registered trademark of Oracle Corporation and/or its 27 affiliates. Other names may be trademarks of their respective 28 owners. 29 Type \'help;\' or \'\h\' for help. Type \'\c\' to clear the current input statement. 30 mysql>
删除用户
drop user \'用户名\'@\'IP地址\';
1 mysql> create user alex@localhost identified by \'oldboy123\'; 2 Query OK, 0 rows affected (0.00 sec) 3 #查看user表中用户(这里指可以登录mysql的用户) 4 mysql> select host,user from user; 5 +-----------+--------+ 6 | host | user | 7 +-----------+--------+ 8 | 127.0.0.1 | root | 9 | localhost | alex | 10 | localhost | nulige | 11 | localhost | root | 12 +-----------+--------+ 13 4 rows in set (0.00 sec) 14 #删除alex用户 15 mysql> drop user alex@localhost; 16 Query OK, 0 rows affected (0.00 sec) 17 18 #可能因大写或特殊linux主机名导致的。用drop user ""@"MYSQL";删除不了,报错。 19 解决办法: 20 delete from mysql.user where user=\'\' and host=\'MYSQL\'; 21 flush privileges; 22 23 24 mysql> select host,user from user; 25 +-----------+--------+ 26 | host | user | 27 +-----------+--------+ 28 | 127.0.0.1 | root | 29 | localhost | nulige | 30 | localhost | root | 31 +-----------+--------+ 32 3 rows in set (0.00 sec)
修改用户
rename user \'用户名\'@\'IP地址\'; to \'新用户名\'@\'IP地址\';;
1 #创建连接mysql数据库用户 2 3 mysql> create user \'alex\'@\'localhost\' identified by \'oldboy123\'; 4 Query OK, 0 rows affected (0.00 sec) 5 6 #查看user表中字段 7 mysql> select host,user from user; 8 +-----------+--------+ 9 | host | user | 10 +-----------+--------+ 11 | 127.0.0.1 | root | 12 | localhost | alex | 13 | localhost | nulige | 14 | localhost | root | 15 +-----------+--------+ 16 4 rows in set (0.00 sec) 17 18 #修改用户和host地址 19 mysql> rename user \'alex\'@\'localhost\' to \'eric\'@\'127.0.0.1\'; 20 Query OK, 0 rows affected (0.00 sec) 21 22 #查看user表中字段 23 mysql> select host,user from user; 24 +-----------+--------+ 25 | host | user | 26 +-----------+--------+ 27 | 127.0.0.1 | eric | #把alex修改成eric 28 | 127.0.0.1 | root | 29 | localhost | nulige | 30 | localhost | root | 31 +-----------+--------+ 32 4 rows in set (0.00 sec)
修改密码
set password for \'用户名\'@\'IP地址\' = Password(\'新密码\')
1 mysql> select host,user from user; 2 +-----------+--------+ 3 | host | user | 4 +-----------+--------+ 5 | 127.0.0.1 | eric | #修改eric用户和host主机地址 6 | 127.0.0.1 | root | 7 | localhost | nulige | 8 | localhost | root | 9 +-----------+--------+ 10 4 rows in set (0.00 sec) 11 12 #修改密码; 这里有个坑,如果eric@localhost,后面登录的时候,可以不加-h,否则必须加,要不然会报错。 13 mysql> set password for \'eric\'@\'127.0.0.1\' = password(\'123456\'); 14 Query OK, 0 rows affected (0.00 sec) 15 16 #退出 17 mysql> exit; 18 Bye 19 #用eric用户登录数据库 20 [root@mysql ~]# mysql -ueric -h 127.0.0.1 -p 21 Enter password: #输入密码:123456 22 Welcome to the MySQL monitor. Commands end with ; or \g. 23 Your MySQL connection id is 15 24 Server version: 5.5.49 MySQL Community Server (GPL) 25 26 Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. 27 28 Oracle is a registered trademark of Oracle Corporation and/or its 29 affiliates. Other names may be trademarks of their respective 30 owners. 31 32 Type \'help;\' or \'\h\' for help. Type \'\c\' to clear the current input statement. 33 34 mysql>
远程客户端连接
1 mysql -u root -h 192.168.1.1 -p #远程连接mysql数据库,加-h参数,后面接IP地址 2 回车后,再输入密码。
三、权限管理
权限:
默认,什么都没有
1 show grants for \'用户\'@\'IP地址\' ---> 查看权限 2 grant 权限 on 数据库.表 to \'用户\'@\'IP地址\' ---> 授权 3 revoke 权限 on 数据库.表 from \'用户\'@\'IP地址\' ---> 取消权限
对于权限有如下类型:
#标红部分为常用权限
all privileges 除grant外的所有权限
select 仅查权限
select,insert 查和插入权限
...
usage 无访问权限
alter 使用alter table
alter routine 使用alter procedure和drop procedure
create 使用create table
create routine 使用create procedure
create temporary tables 使用create temporary tables
create user 使用create user、drop user、rename user和revoke all privileges
create view 使用create view
delete 使用delete
drop 使用drop table
execute 使用call和存储过程
file 使用select into outfile 和 load data infile
grant option 使用grant 和 revoke
index 使用index
insert 使用insert
lock tables 使用lock table
process 使用show full processlist
select 使用select
show databases 使用show databases
show view 使用show view
update 使用update
reload 使用flush
shutdown 使用mysqladmin shutdown(关闭MySQL)
super