Administrator
发布于 2021-12-27 / 401 阅读
0
0

MySQL常用命令

MySQL常用命令

1.登录登出

mysql -uroot -p -P3306 -h127.0.0.1
#表示超级用户名root,密码稍后输入,端口号3306(不输入P默认为3306)

\q;
quit;
exit;
#登出数据库三种方法

2.创建用户

create user 'test'@'localhost' identified by '1234';
#创建了一个名为:test 密码为:1234 的用户(本地登录)
	
create user 'test'@'%' identified by '1234';
#创建了一个名为:test 密码为:1234 的用户(本地登录、远程登录)
	
create user 'test'@'192.168.100.25' identified by '1234';
#创建了一个名为:test 密码为:1234 的用户(指定ip登录)

3.删除用户

drop user test@localhost ;
#删除名为:test的本地登录的用户(localhost)
	
drop user test@'%';
#删除名为:test的远程登录的用户(%)
	
drop user test@'192.168.100.25';
#删除名为:test的ip限制登录的用户(ip)

4.修改密码

set password for test = password('1234');
alter user root@"localhost" identified by "1234";
#密码实时更新,修改用户“test”的密码为“1234”
	
update mysql.user set password=password('1234') where user='test';
#需要刷新,修改用户“test”的密码为“1234”

#mysql 5.7.14+ 版本后user表的password变成了authentication_string
update user set authentication_string=password("Dbapp2021") where user="root";

5.创建数据库

create database `textdb` default character set utf8 collate utf8_general_ci;
#创建testdb数据库并指定字符集和排序规则格式为utf8 utf8_general_ci

create database `textdb` default character set utf8mb4 collate utf8mb4_general_ci;
#创建testdb数据库并指定字符集和排序规则utf8mb4 utf8mb4_general_ci

6.分配权限

grant all privileges on testdb.* to 'test'@'%' identified by 'password';
#授予用户test通过外网IP对数据库“testdb”的全部权限
	
grant create,alter,drop,select,insert,update,delete on testdb.* to test@'%';
#授予用户“test”通过外网IP对于该数据库“testdb”中,表的创建、修改、删除权限和表数据的增删查改权限

grant all privileges on *.* to 'root'@'%' identified by 'password' with grant option;
#设置root用户对说有库的所有权限

7.查看用户权限

show grants for test;
#查看用户名为:test的用户权限
	
show databases;
#查询当前用户库权限

8.刷新权限

flush privileges;
#刷新权限

9.查看数据库及表

#查看所有数据库
show databases;

#查询数据表
show tables;

#显示表是基表还是视图
show full tables;

10.查看用户列表

select user,host from mysql.user;

11.选择数据库

ues test_db;

12.导出sql文件

mysql -u username -p dbname > backupfile.sql

#mysql是MySQL提供的用于备份数据库的命令行工具。
#-u 参数用于指定连接数据库的用户名。
#-p 参数用于提示输入连接数据库的密码。
#dbname 是要备份的数据库名称。
#backupfile.sql 是将要生成的备份文件名,你可以自定义名称

13.导入数据库

#登录数据库
mysql -uroot -p

#选择数据库
use test_db;

#登录后导入数据库文件
source /home/appbak/qwchat.sql;

#在外部直接导入数据库文件
mysql -u username -p dbname < sqlfile.sql

#mysql 是MySQL提供的命令行客户端工具。
#-u 参数用于指定连接数据库的用户名。
#-p 参数用于提示输入连接数据库的密码。
#dbname 是要导入数据的目标数据库名称。
#sqlfile.sql 是要导入的SQL文件名称,你可以根据实际情况修改。

14.创建索引

创建单列索引:
create index index_name on table_name(column_name);

#其中,index_name 是索引的名称,table_name 是表的名称,column_name 是要在其上创建索引的列的名称

创建单列唯一索引
create unique index index_name on table_name(column_name);

#其中,index_name 是索引的名称,table_name 是表的名称,column_name 是要在其上创建唯一索引的列的名称


创建多列索引:
create index index_name on table_name(column_name_1, column_name_2, ...);

#其中,index_name 是索引的名称,table_name 是表的名称,column_name_1, column_name_2, ... 是要在其上创建索引的列的名称。

创建多列唯一索引:
create unique index index_name on table_name(column_name_1, column_name_2, ...);

#其中,index_name 是索引的名称,table_name 是表的名称,column_name_1, column_name_2, ... 是要在其上创建唯一索引的列的名称。


#在创建索引时,可以使用以下选项:
UNIQUE: 用于创建唯一索引,确保索引列的值是唯一的。
FULLTEXT: 用于创建全文索引,可以用于全文搜索。
SPATIAL: 用于创建空间索引,可以用于空间数据的查询。

15.忘记root密码

#编辑MySQL配置文件
vim /etc/my.cnf

#在[mysqld]字段下新增如下内容,然后保存退出
skip-grant-tables

#重启数据库并登录数据库

mysql> use mysql;

mysql> update user set authentication_string = password ('password') where user = 'root';

mysql> flush privileges;

mysql> quit


评论