MySQL 常用命令

mysql select host,user from user;+---------------+---------+| host | user |+---------------+---------+| % | root || % | test3 || % | yx || 192.168.0.% | root || 192.168.0.% | test2 || 192.168.0.109 | test || ::1 | yangxin || localhost | yangxin |+---------------+---------+8 rows in set (0.00 sec)mysql drop user 'yangxin'@'localhost';

显示表中的记录:

SELECT  *  FROM  表名  [  WHERE xxx [ ORDER  BY xxx ] [ GROUP  BY
 xxx ] ]

1 更新mysql.user表

建立数据表:

USE  库名;

CREATE  TABLE  表名(字段名 类型, 字段名1 INT, 字段名2
VARCHAR(20));

八、忘记密码

删除数据库:

DROP  DATABASES  库名;

3 修改密码

新建用户:

CREATE USER username@localhost  IDENTIFIED BY  ‘密码’;

flush  privileges;

用户权限管理主要有以下作用: 1. 可以限制用户访问哪些库、哪些表 2.
可以限制用户对哪些表执行SELECT、CREATE、DELETE、DELETE、ALTER等操作 3.
可以限制用户登录的IP或域名 4.
可以限制用户自己的权限是否可以授权给别的用户

忘记密码:

在 “my.cnf” 或“my.ini”文件的 “mysqld” 配置段添加
“skip-grant-tables”,然后重新启动mysql 即可登录修改 root 密码。

vim /etc/my.cnf

skip-grant-tables

mysql flush privileges;

显示 xx 数据库中的数据表:

USE  xxx;

SHOW  TABLES;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

显示当前 User:

SELECT  USER();

4 还原登录权限跳过检查配置

将表中数据清空:

DELETE  FROM  表名;

删除yangxin这个用户的create权限,该用户将不能创建数据库和表。

修改密码:

UPDATE  mysql.user  SET  password=PASSWORD(‘新密码’)  WHERE
 User=’xxx’;

#在mysql5.7以后,password选项变为了 authentication_string。

UPDATE  mysql.user  SET  authentication_string =PASSWORD(‘新密码’)
 WHERE  User=’xxx’;

#修改root密码

UPDATE  mysql.user  SET  authentication_string =PASSWORD(‘root’)
 WHERE  User=’xxx’;  

FLUSH  PRIVILEGES;

[mysqld]skip-grant-tables

MySQL自动补全:

vim /etc/my.cnf

[mysql]

#no-auto-rehash

auto-rehash

#重启mysql

systemctl restart mysqld

新建数据库:

CREATE DATABASE xxx;

SHOW DATABASES;

mysql use mysql;# mysql5.7之前mysql update user set password=password('123456') where user='root';# mysql5.7之后mysql update user set authentication_string=password('123456') where user='root';mysql flush privileges;

查看所有数据库:

SHOW  DATABASES;

复制代码 代码如下:mysql grant all
privileges on *.* to ‘yangxin’@’%’ identified by ‘yangxin123456’ with
grant option;all
privileges:
表示将所有权限授予给用户。也可指定具体的权限,如:SELECT、CREATE、DROP等。on:表示这些权限对哪些数据库和表生效,格式:数据库名.表名,这里写“*”表示所有数据库,所有表。如果我要指定将权限应用到test库的user表中,可以这么写:test.userto:将权限授予哪个用户。格式:”用户名”@”登录IP或域名”。%表示没有限制,在任何主机都可以登录。比如:”yangxin”@”192.168.0.%”,表示yangxin这个用户只能在192.168.0IP段登录identified
by:
指定用户的登录密码with grant
option:
表示允许用户将自己的权限授权给其它用户

显示数据表的结构:

DESCRIBE  表名;

可以使用GRANT给用户添加权限,权限会自动叠加,不会覆盖之前授予的权限,比如你先给用户添加一个SELECT权限,后来又给用户添加了一个INSERT权限,那么该用户就同时拥有了SELECT和INSERT权限。

连接mysql:

mysql  -h主机地址   -u用户名   -p用户密码

语法:mysqladmin -u用户名 -p旧的密码 password 新密码

恢复数据库:

mysql  -uroot  -ppassword  数据库  <  test.sql(备份数据库)

1 添加登录跳过权限检查配置

登录用户:

mysql -uxxx -p

之后输入密码

复制代码 代码如下:mysql grant
select,create,drop,update,alter on *.* to ‘yangxin’@’localhost’
identified by ‘yangxin0917’ with grant option;mysql show grants for
‘yangxin’@’localhost’;

向表中插入数据:

INSERT  INTO  表名(column_1, column_2)   VALUE( “xxx”,”xxx22″);

注意:mysqladmin位于mysql安装目录的bin目录下

导入 .sql 文件:

USE  数据库名;

SOURCE  d:/mysql.sql;

导入文本数据:

LOAD  DATA  LOCAL  INFILE   “D:/mysql.txt”  INTO  TABLE  表名;

3 mysqladmin

新建表:

CREATE TABLE table_name(column_name column_type,zhang char);

用户详情的权限列表请参考MySQL官网说明:

删除数据表:

DROP  TABLES  表名;