(MySQL、Redis)数据库的连接、启动和关闭的常用命令
一、MySQL相关终端命令
MySQL服务启动与停止、连接
#启动 #windows启动与停止 命令行指令、命令管理器手动启动停止#以管理员方式运行cmd,输入以下命令net start mysqlnet stop mysql #停止mysql服务#linux启动与停止systemctl start mysqld 或 service mysqld startsystemctl stop mysqld 或 service mysqld stopsystemctl restart mysqld 或 service mysqld restartps -ef | grep mysqld #检查MySQL服务器是否启动#mysql连接mysql -u 用户名 -p
常用sql命令
show databases; #查询所有数据库USE 数据库名; #切换到指定的数据库select database(); #查看当前使用数据库select user(); #查询当前用户select version(),current_date; #显示当前mysql版本和当前日期select now(); #查询时间 exit; 或 quit; #关闭当前连接###数据库操作 (root用户拥有最高权限)create database 数据库名; drop database 数据库名;###数据表show tables; #显示指定数据库的所有表,使用该命令前需要使用 use 命令来选择要操作的数据库drop table tb_name; #删除表delete from tb_name; #清空表show create table 表名; #查看该表的建表语句describe table_name; 或 desc 表名; #表的详细描述,显示表结构及字段#显示数据表的属性,属性类型,主键信息 ,是否为 NULL,默认值等其他信息show columns from 数据表;#显示数据表的详细索引信息,包括PRIMARY KEY(主键)show index fromM 数据表;alter table 表名 add/modify/change/drop/rename to ...; #修改表结构create table table_name (column_name column_type);create table if not exists 'runoob_tbl'('runoob_id' INT UNSIGNED AUTO_INCREMENT,'runoob_title' VARCHAR(100) NOT NULL,'runoob_author' VARCHAR(40) NOT NULL,'submission_date' DATE,PRIMARY KEY ( 'runoob_id' ))ENGINE=InnoDB DEFAULT CHARSET=utf8;###数据#如果数据是字符型,必须使用单引号或者双引号,如:"value"insert into 表名(column1,column2,...) values(value1,value2,...);insert into table_name ( field1, field2,...fieldN )values( value1, value2,...valueN );update table_name set field1=new-value1, field2=new-value2 [where clause];delete from table_name [where clause];select * from 表名 where condition;
导入导出数据
1.2.1 常见导入导出
#备份恢复整个数据库mysqldump -u 用户名 -p 数据库名 > /back/backup.sqlmysql -u 用户名 -p 数据库名 < /back/backup.sql#备份恢复 单个数据库的某些表mysqldump -u 用户名 -p 数据库名 表名 [表2 表3] > C:\Users\87\backup.sqlmysql -u 用户名 -p 数据库名 < C:\Users\87\backup.sql
1.2.2 常见导出方法
[root@localhost ~]# mysqldump -helpUsage: mysqldump [OPTIONS] database [tables]OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]OR mysqldump [OPTIONS] --all-databases [OPTIONS]
所有库、一个库所有表;一个库某张/某些表,表数据,表结构
1)db级
#导出所有数据库的全部数据,包括结构和数据mysqldump -u 用户名 -p -A > 导出的文件名#仅导出所有db结构mysqldump -u 用户名 -p -A -d > 导出的文件名#仅导出所有db数据 不导表结构mysqldump -u 用户名 -p -A -t > 导出的文件名#导出多个数据库 结构和数据mysqldump -u 用户名 -p db1 db2 [db3 ...] -A > filename.sql#导出单个数据库的所有数据,包括结构和数据mysqldump -u 用户名 -p 数据库名 > 导出的文件名 #仅导出单个数据库的结构mysqldump -u 用户名 -p 数据库名 -d> 导出的文件名 #仅导出单个数据库的数据mysqldump -u 用户名 -p 数据库名 -t> 导出的文件名
2)table级
#导出一个表/多个表,包括表结构和数据 mysqldump -u 用户名 -p 数据库名 表名 [表2 表3] > 导出的文件名 #只导出表结构不导表数据,添加“-d”命令参数mysqldump -u 用户名 -p 数据库名 [表1...] -d > filename.sql#只导出表数据不导表结构,添加“-t”命令参数mysqldump -u 用户名 -p 数据库名 [表1...] -t > d:/user.sqlmysqldump -u root -p db1 student course > C:\Users\87\backup.sql
1.2.3 常见导入方法
- 方式1 系统命令行方法
mysql -u 用户名 -p < 文件
- 方式2 mysql命令行source方法
mysql -u 用户名 -pmysql>use mydbmysql>source /back/backup.sql
具体示例
1)导入所有数据库
-
mysql命令行:mysql>source /back/backup.sql
-
系统命令行: mysql -u 用户名 -p < /back/backup.sql
2)导入单个数据库
-
mysql命令行:
mysql>use mydbmysql>source /back/backup.sql
-
系统命令行:
mysql -u 用户名 -p 数据库名 < C:\Users\87\backup.sql
3)导入单个数据库的多个表
-
mysql命令行:
mysql>use mydbmysql>source /back/backup.sql
-
系统命令行:
mysql -u 用户名 -p 数据库名 < C:\Users\87\backup.sql
4)导入多个数据库
- mysql命令行:
mysql>source /back/backup.sql
- 系统命令行:
mysql -u 用户名 -p < /back/backup.sql
二、Redis相关终端命令
Redis启动与停止、连接
#redis服务启动#进入安装安装目录 使用配置文件的方式启动cd /usr/local/src/redis/redis-7.0.4/ #先切换到安装目录下redis-server redis.conf #使用配置文件的方式启动Redis#或者直接在根目录下 /usr/local/src/redis/redis-7.0.4/redis-server /usr/local/src/redis/redis-7.0.4/redis.conf#客户端连接redis服务redis-cli -h host -p port #若为本地redis,端口号为6379未修改 可直接使用redis-cli进行连接redis-cli#停止redis服务# 法一 系统命令行,正常关闭、数据保存redis-cli -a password shutdown #法二 redis命令行 redis-cli连接redis服务后,在redis命令行输入shutdown127.0.0.1:6379> shutdown#法二 强制结束进程,断电、非正常关闭,容易数据丢失ps -ef | grep redis-serverkill -9 redis_pid
Redis常用命令
#基础命令ping #心跳命令,若看到PONG响应,说明客户端与Redis的连接正常select 1 //切换数据库。切换到1号库:select 目标库下标。redis默认有16个库,下标从0开始,默认在0号库dbsize #查看当前数据库大小,也就是key的数量(dbsize)shutdown #关闭redis服务quit 或exit #关闭当前连接flushdb #清空当前库中所有数据flushall #清空所有库中数据#key相关操作命令keys * #获取所有的键keys pattern #查找所有符合给定模式(pattern)的key set key value get keyexists key #检查给定key是否存在type key #返回key所存储的值的类型del key1 key2 ... #该命令用于在key存在时删除keyunlink key #选择非阻塞删除,刚开始没有删除,后续才会删除;move key db #将当前数据库的 key 移动到给定的数据库db当中rename key newkey #修改 key 的名称;expire key1 seconds #为key设置过期时间 ttl key #查看给定key的剩余生存时间(还有多久删除),以秒为单位。-2表示已经过期,-1表示永不过期persist key #移除key的过期时间,key将持久保存randomkey #从当前数据库中随机返回(不删除)一个key