当前位置: 首页 > article >正文

mysql之常用的命令行操作

mysql之常用的命令行操作

    • 1.连接进入命令行
    • 2.数据库用户管理
    • 3.数据库的库、表信息管理
    • 4.数据导出备份与导入还原
      • 4.1.`mysqldump`:导出备份数据
      • 4.2.select语句导出
      • 4.3.mysql命令导入
      • 4.4.source导入
      • 4.5.load data导入数据

在实际工作中部署系统时,出于安全的考虑往往并不能直接通过数据库图形管理工具去连接访问,当这种情况时我通常是将系统的初始化sql文件上传到mysql主机,然后通过连接进入命令行的方式来执行sql文件;因此,记录整理mysql命令行常用的相关操作;

1.连接进入命令行

mysql
功能:输入该命令可以进入到命令行,他有很多参数;
常用参数
-u:用来指定连接时的,用户名
-p:用来指定连接时的,密码
-h:用来指定连接时的,mysql主机名、IP
-P:用来指定连接时的,mysql端口
-D:用来指定连接时的,数据库db
-V:用来查看mysql版本号

格式
mysql -u用户名 -p密码

mysql -u用户名 -p

mysql -u用户名 -p密码 -h ip -P 端口 -D 数据库db

mysql -u用户名 -p -h ip -P 端口 -D 数据库db

示例1:普通的连接
方式一:直接-p后面跟密码

msyql -uroot -p123456

在这里插入图片描述

方式二:直接-p后面不跟密码,弹出输入密码项

msyql -uroot -p

在这里插入图片描述

示例2:连接时指定ip、端口、数据库

msyql -uroot -p123456 -h 192.168.12.123 -P 3306 -D dbname

msyql -uroot -p -h 192.168.12.123 -P 3306 -D dbname

在这里插入图片描述

示例3:查看版本号

mysql -V

在这里插入图片描述

2.数据库用户管理

1.创建用户
test:是用户名;
%:用户可以从哪些主机连接mysql;
123456:是设置用户名的连接密码;

create user 'test'@'%' identified by 'Aa.123456';

host参数说明:

  1. 指定的ip地址,用户只能从指定的ip连接mysql;如:192.168.1.123;
  2. 通配符%,用户可以从任何主机连接到数据库;
  3. 指定的主机明,用户只能从指定的主机名连接到mysql;


2.授权
参数说明:
test123:指定搜去的数据库名称
test:是用户名;
%:用户可以从哪些主机连接mysql;

grant all privileges on test123 to 'test'@'%';

3.刷新权限

flush privileges;

4.查看用户权限

show grants for 'test'@'%';

在这里插入图片描述

5.修改密码

alter user 'test'@'%' identified by 'AAa.123456';

6.删除用户

drop user 'username'@'host';

在这里插入图片描述

3.数据库的库、表信息管理

注意:使用以下命令的前提是,已经连接进入到了mysql命令行中

1.列出所有的数据库列表:

show databases;

在这里插入图片描述

2.选择、切换数据库

use dbname;

在这里插入图片描述

3.列出当前选定的数据库中的所有表名

show tables;

在这里插入图片描述

4.列出指定表的结构

desc tableName;

在这里插入图片描述

5.查看指定表的索引

show index from tableName;

在这里插入图片描述

6.查看指定表的创建语句、sql

show create table tableName;

在这里插入图片描述

7.创建数据库

create database dbName;

在这里插入图片描述

4.数据导出备份与导入还原

4.1.mysqldump:导出备份数据

参数说明
-u: 指定 MySQL 用户名;
-p:指定密码;
-h: 指定主机名;
test: 是要导出的数据库名称;
test_backup.sql: 导出数据保存到的文件;

功能:整库导出

mysqldump -uroot -p123456 test > test_backup.sql

mysqldump -uroot -p password -h hostname database_name > output_file.sql

在这里插入图片描述

功能:导出指定表
说明
test:数据库名称;
sms_groupsend:需要导出的表名;
backup1.sql:导出后的文件;

mysqldump -uroot -p123456 test sms_groupsend > backup1.sql

mysqldump -uroot -p123456 -h 127.0.0.1 test sms_groupsend > backup2.sql

在这里插入图片描述

功能:只导出数据库结构
导出整个库的结构:

mysqldump -uroot -p123456 -h 127.0.0.1 --no-data test > test1.sql

导出指定表的结构:

mysqldump -uroot -p123456 -h 127.0.0.1 --no-data test sms_groupsend > test2.sql

在这里插入图片描述

功能:导出所有库

mysqldump -uroot -p123456 --all-databases > database_bak.sql

4.2.select语句导出

功能use dbname;切换到指定的数据库后,通过查询语句导出,可导出指定表、指定表的指定字段,需要连接进入到mysql命令行后才能使用
说明
/var/lib/mysql-files/test.csv:是导出的数据存储路径和文件
sms_groupsend:是要导出的表名

select * into outfile '/var/lib/mysql-files/test.csv' from sms_groupsend;

注意:
1.如果mysql配置了secure-file-priv变量,会限制导入/导出的路径;可以直接将数据导入/导出到设置的路径下就可避免问题;
2.使用此方法导出的只有数据,没有表结构;用导出的文件还原数据时,目标表需要已存在;

查看secure-file-priv设置:

show variables like 'secure_file_priv';

在这里插入图片描述

4.3.mysql命令导入

mysql -uroot -p123456 test123 < ./test.sql

mysql -uroot -p123456 -h 127.0.0.1 -P 3306 -D test123 < ./test.sql

在这里插入图片描述

注意:导入的目标库需要已存在;无需进入命令行即可执行命令;

4.4.source导入

#切换到指定的数据库
use dbname;
#source命令执行sql
source /data/test/test.sql;

在这里插入图片描述

注意:需要进入命令行,切换到对应的库后再执行sql文件;

4.5.load data导入数据

load data local infile '/var/lib/mysql-files/test.csv' into table sms_groupsend;

在这里插入图片描述

注意:需要进入命令行才能执行语句;导入的目标表结构,需已在数据库中;


http://www.kler.cn/a/410314.html

相关文章:

  • webrtc音频模块介绍(二) ADM
  • Python酷库之旅-第三方库Pandas(237)
  • GoF设计模式——结构型设计模式分析与应用
  • 【Electron学习笔记(二)】基于Electron开发应用程序
  • 【redis 】string类型详解
  • MySQL中的ROW_NUMBER窗口函数简单了解下
  • MySQL45讲 第29讲 如何判断一个数据库是不是出问题了?——阅读总结
  • 簡單易懂:如何在Windows系統中修改IP地址?
  • windows实战-wordpress——玄机靶场
  • 在C++上实现反射用法
  • ISUP协议视频平台EasyCVR萤石设备视频接入平台银行营业网点安全防范系统解决方案
  • 详解 【AVL树】
  • DICOM图像深入解析:为何部分DR/CR图像默认显示为反色?
  • 【案例学习】如何使用Minitab实现包装过程的自动化和改进
  • Failed to find SV in PRN block of SINEX file (Name svnav.dat)
  • Linux系统使用valgrind分析C++程序内存资源使用情况
  • 从0开始分享一个React项目:React-ant-admin
  • 【Linux课程学习】:进程程序替换,execl,execv,execlp,execvp,execve,execle,execvpe函数
  • 搜维尔科技:多画面显示3D系统解决方案,数据孪生可视化大屏3D展示技术
  • oracle RMAN同机迁移数据库从ASM至文件系统(同机)
  • Stable Diffusion初步见解(三):扩散模型
  • 网络安全简单入门与扫描
  • 利用Python爬虫获取商品评论:技术与实践
  • 机器学习-41-对ML的思考之从开普勒的研究过程看科学范式
  • 全面解析多种mfc140u.dll丢失的解决方法,五种方法详细解决
  • 大数据-233 离线数仓 - 留存会员 需求、创建与加载DWS 层、ADS 层 与 小结