MySQL常用命令

2018-12-20 09:56:46 5143

查看表结构:

mysql> DESC user;
 +------------------------+-----------------------------------+------+-----+---------+-------+
 | Field | Type | Null | Key | Default | Extra |
 +------------------------+-----------------------------------+------+-----+---------+-------+
 | Host | char(60) | NO | PRI | | |
 | User | char(16) | NO | PRI | | |

查询表内容:

mysql> SELECT User,Host FROM mysql.user;
 +------+-----------+
 | User | Host |
 +------+-----------+
 | root | 127.0.0.1 |
 | root | ::1 |
 | | guest |
 | root | guest |
 | | localhost |
 | root | localhost |
 +------+-----------+
 6 rows in set (0.00 sec)

导入数据库# mysql -u root -p zabbix < /root/a.sql   -p指定数据库,不是密码

设置root管理员密码:# mysqladmin -u root -p password "redhat"

查看mysql用户:mysql> SELECT User,Host,Password FROM mysql.user;

创建用户:mysql> CREATE USER username@host IDENTIFIED BY "password"; %需要加单引号:'@'

删除用户:mysql> DROP USER 'username'@'host';

查看用户权限mysq> SHOW GRANTS FOR 'username'@'hostname';

格式:GRANT privileges ON db_name.tb_name TO 'username'@'host' [IDENTIFIED BY "password"];

权限:
 SELECT,UPDATE,DELETE,INSERT
 CREATE,DROP,ALTER
 ALL:所有权限

撤销权限

格式:
 REVOKE privileges ON db_name.tb_name FROM 'username'@'hostname'

root账户拥有所有权限可以从所有主机登录:

GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY 'redhat' WITH GRANT OPTION;

查看所有的引擎:SHOW ENGINES;
查看支持所有字符集:SHOW CHARACTER SET;
查看支持所有排序规则:SHOW COLLATIONS;
删除表:DROP TABLE [IF EXISTS] tb_name;
获取帮助:mysql> HELP CREATE TABLE;
查看创建命令:SHOW CREATE TABLE tbl_name;
查看表状态:SHOW TABLE STATUS LIKE 'tbl_name'\G
查看表上的索引:SHOW INDEXES FROM [db_name.]tbl_name;
创建索引:CREATE INDEX index_name ON tbl_name (index_col_name,...);
删除索引:DROP INDEX index_name ON tbl_name;
修改用户密码:
方法1: 用SET PASSWORD命令
首先登录MySQL。 
格式:mysql> set password for 用户名@localhost = password('新密码'); 
例子:mysql> set password for root@localhost = password('123');
方法2:用mysqladmin 
格式:mysqladmin -u用户名 -p旧密码 password 新密码 
例子:mysqladmin -uroot -p123456 password 123
方法3:用UPDATE直接编辑user表 
首先登录MySQL。 
mysql> use mysql; 
mysql> update user set password=password('123') where user='root' and host='localhost'; 
mysql> flush privileges;
方法4:在忘记root密码的时候,可以这样 
以windows为例: 
1. 关闭正在运行的MySQL服务。 
2. 打开DOS窗口,转到mysql\bin目录。 
3. 输入mysqld --skip-grant-tables 回车。--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。 
4. 再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysql\bin目录。 
5. 输入mysql回车,如果成功,将出现MySQL提示符 >。 
6. 连接权限数据库: use mysql; 。 
6. 改密码:update user set password=password("123") where user="root";(别忘了最后加分号) 。 
7. 刷新权限(必须步骤):flush privileges; 。 
8. 退出 quit。 
9. 注销系统,再进入,使用用户名root和刚才设置的新密码123登录。


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: