linux 查看数据库和表 mysql 命令

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

查看是否有安装数据库 :rpm -qa|grep -i mysql

如图已安装:

151121_19jv_3482619.png

未安装:

151209_h7M6_3482619.png

查看MySQL版本的四种方法

1 在终端下执行 mysql -V

2 在help中查找 mysql --help |grep Distrib

3 在mysql 里查看 select version();

4 在mysql 里查看 status;

mysql -h localhost -u 用戶名 -p密码                //链接数据库
use desk_show;                                          //使用数据库
show tables;                                              //显示数据表
describe desk6_0;                                     //显示表结构

通过rpm查看

查看软件是否安装

首先我们需要查看软件是否已经安装,或者说查看安装的软件包名称。如查找是否安装mysql

200535_MiLE_3482619.png

 

接着根据 rpm -ql 列出软件包安装的文件

200603_D9H4_3482619.png

使用  rpm -qal |grep mysql 查看mysql所有安装包的文件存储位置

200635_aYPl_3482619.png

Yum查找

除了rpm 查询还可以通过yum search 查找对应可以安装的软件包

200701_QyMW_3482619.png

其他查找方法

除了根据软件包来找文件位置之外,最常用的就是通过find查找某个关键字比如mysql所有包含mysql服务的文件路径

200731_qy9e_3482619.png

Which查找命令

Which命令是通过 PATH环境变量查找可执行文件路径,用于查找指向这个命令所在的文件夹

200803_Caqt_3482619.png

Whereis命令和find类似,不过不同的是whereis是通过本地架构好的数据库索引查找会比较快。如果没有更新到数据库里面的文件或命令则无法查找到信息

200824_NHio_3482619.png

 

 

mysql其他命令:

 

show databases; 显示数据库

 

create database name; 创建数据库

 

use databasename; 选择数据库

 执行命令source /root/20151010.sql

drop database name 直接删除数据库,不提醒

  

show tables; 显示表

  

describe tablename; 显示具体的表结构

select 中加上distinct去除重复字段

 

mysqladmin drop databasename 

删除数据库前,有提示。

 

显示当前mysql版本和当前日期

select version(),current_date; 

 

root密码管理     
设置root用户的密码     mysqladmin -uroot password 'password'
修改root用户的密码     mysqladmin -uroot -p password 'password'
 
数据库,表管理     
进入mysql     mysql -h hostname -uroot -p
创建数据库     mysql> create database location
导入数据结构     mysql -uroot -p location <./location.sql
查看数据库     mysql> show databases;
进入某个库     mysql> use location;
查看表信息     mysql> show tables;
查看表结构     mysql> desc Contact;
改表名     mysql> rename table Contact to Contact_new
删除库     mysql> drop database location
删除表     mysql> drop table Contact
 
授权部分     
建立用户并授权     mysql> grant all on location.* to gk1020@'10.1.11.71' identified by 'gk1020'
取消授权     mysql> revoke all on location.* from gk1020@'10.1.11.71'
刷新权限     mysql> flush privileges
 
操作语句     
查询     mysql> select * from Contact
mysql> select count(*) from Contact
修改     mysql> update Contact set RegTime=‘2008-01-01 00:00:00’ where id=1
mysql> update Contact set RegTime=‘2008-01-01 00:00:00’,CID=1 where id=1
插入     mysql> insert into Contact values('',''…)
mysql> insert into Contact(ID,CID,Contact) values('',''…)
删除     mysql> delete from Contact where id=1
 
备份数据库location     mysqldump -uroot -p -l location >./location.sql
备份某个表     mysqldump -uroot -p -l --database location --table Contact >./contact.sql
导出数据库location的数据结构     mysqldump -d -uroot -p location >./location.sql
恢复数据库:mysql -uroot -p location < location.sql
备份数据文件和sql文件分离:mysqldump -uroot -p location contact -T backup/
导出数据: select * from contact into outfile 'contact.txt';
恢复sql文件:cat contact.sql | mysql -uroot -p location
导入数据(要跟绝对路径) mysqlimport -uroot -p zhang  /usr/local/mysql/var/backup/contact.txt
 
复制表     复制表Contact为Contact_bak     mysql> create table Contact_bak as select * from Contact
复制表Contact的结构     mysql> create table Contact_bak as select * from Contact where 1=2

查看正在执行的任务           mysql> show processlist
kill正在执行的任务      mysqladmin -uroot -p kill process_id

查看表状态:mysql> check table Contact  or mysqlcheck -uroot -p -c location Contact 
修复表:        mysql> repair table Contact  or mysqlcheck -uroot -p -r location Contact 
优化表:        mysql> optimize table Contact  or mysqlcheck -uroot -p -o location Contact 

 

MySQL mysqldump 导入/导出 结构&数据&存储过程&函数&事件&触发器

———————————————-库操作———————————————-
1.①导出一个库结构

mysqldump -d dbname -u root -p > xxx.sql

②导出多个库结构

mysqldump -d -B dbname1 dbname2 -u root -p > xxx.sql

 

2.①导出一个库数据

mysqldump -t dbname -u root -p > xxx.sql

②导出多个库数据

mysqldump -t -B dbname1 dbname2 -u root -p > xxx.sql

 

3.①导出一个库结构以及数据

mysqldump dbname1 -u root -p > xxx.sql

②导出多个库结构以及数据

mysqldump -B dbname1 dbname2 -u root -p > xxx.sql



———————————————-表操作———————————————-
4.①导出一个表结构

mysqldump -d dbname1 tablename1 -u root -p > xxx.sql

②导出多个表结构

mysqldump -d -B dbname1 --tables tablename1 tablename2 -u root -p > xxx.sql

 

5.①导出一个表数据

mysqldump -t dbname1 tablename1 -u root -p > xxx.sql

②导出多个表数据

mysqldump -d -B dbname1 --tables tablename1 tablename2 -u root -p > xxx.sql

 

6.①导出一个表结构以及数据

mysqldump dbname1 tablename1 -u root -p > xxx.sql

②导出多个表结构以及数据

mysqldump -B dbname1 --tables tablename1 tablename2 -u root -p > xxx.sql



————————————–存储过程&函数操作————————————-
7.只导出存储过程和函数(不导出结构和数据,要同时导出结构的话,需要同时使用-d)

mysqldump -R -ndt dbname1 -u root -p > xxx.sql



———————————————-事件操作———————————————-
8.只导出事件

mysqldump -E -ndt dbname1 -u root -p > xxx.sql



—————————————–触发器操作——————————————–
9.不导出触发器(触发器是默认导出的–triggers,使用–skip-triggers屏蔽导出触发器)

mysqldump --skip-triggers dbname1 -u root -p > xxx.sql



————————————————————————————————
10.导入

mysql -u root -p
use game;
source xxx.sql



————————————————————————————————
总结一下:

-d 结构(--no-data:不导出任何数据,只导出数据库表结构)

-t 数据(--no-create-info:只导出数据,而不添加CREATE TABLE 语句)

-n (--no-create-db:只导出数据,而不添加CREATE DATABASE 语句)

-R (--routines:导出存储过程以及自定义函数)

-E (--events:导出事件)

--triggers (默认导出触发器,使用--skip-triggers屏蔽导出)

-B (--databases:导出数据库列表,单个库时可省略)

--tables 表列表(单个表时可省略)

①同时导出结构以及数据时可同时省略-d和-t
②同时 不 导出结构和数据可使用-ntd
③只导出存储过程和函数可使用-R -ntd
④导出所有(结构&数据&存储过程&函数&事件&触发器)使用-R -E(相当于①,省略了-d -t;触发器默认导出)
⑤只导出结构&函数&事件&触发器使用 -R -E -d

PS:如果可以使用相关工具,比如官方的MySQL Workbench,则导入导出都是极为方便的,如下图。(当然为了安全性,一般情况下都是屏蔽对外操作权限,所以需要使用命令的情况更多些)

 

导入遇到问题  ERROR 1153 (08S01): Got a packet bigger than 'max_allowed_packet' bytes

使用Navicat For Mysql备份建新数据库的时候,表导入不了,查看日志,有脚本报错,原来是文件大于16M所致

报错信息如下:ERROR 1153 (08S01): Got a packet bigger than 'max_allowed_packet' bytes。

 

于是调整配置文件: /etc/my.cnf

修改mysql的最大允许包大小 
在[mysqld]部分(不在这部分没用)添加一句: 
max_allowed_packet=50M 
重启mysql服务就可以了。

重启命令如下:

一、启动方式 
1、使用 service 启动:service mysqld start 
2、使用 mysqld 脚本启动:/etc/inint.d/mysqld start 
3、使用 safe_mysqld 启动:safe_mysqld& 
二、停止 
1、使用 service 启动:service mysqld stop 
2、使用 mysqld 脚本启动:/etc/inint.d/mysqld stop 
3、mysqladmin shutdown 
三、重启 
1、使用 service 启动:service mysqld restart 
2、使用 mysqld  脚本启动:/etc/inint.d/mysqld restart

 

迁移服务器,要把旧服务器上的mysql数据复制到新服务器的mysql上。

我先是把旧服务器的数据库用mysqldump复制了一份,然后想导入到新服务器,用命令导入,结果提示

200302_JjmK_3482619.png

 

网上说的方案,我在命令行加上--max_allowed_packet=128M

mysql --max_allowed_packet=128M -u user -ppass database < database.sql

结果还是提示 Got a packet bigger than 'max_allowed_packet' bytes

然后我又尝试用MysqlWorkBench客户端导入,还是提示 Got a packet bigger than 'max_allowed_packet' bytes 。

实在太奇怪了,明明这个.sql文件只有82K啊!

解决方案

mysql -u root -p -e "set global net_buffer_length=1000000; set global max_allowed_packet=1000000000;"

然后重启 mysqld, 再正常导入就可以了……

转载于:https://my.oschina.net/u/3482619/blog/1613914

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/539520.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php mvc 逻辑层在哪,mvc的业务逻辑应该放哪里?

背景: 基于laravel的后台管理系统&#xff0c;CURD密集型业务问题&#xff1a;当直接在控制器方法中调用orm处理业务逻辑时&#xff0c;代码复用性差&#xff0c;控制器层很肥尝试解决&#xff11;&#xff1a;新建一个model层&#xff0c;将原先在控制器中的处理逻辑移到mode…

servlet/filter/listener/interceptor区别与联系

下面从几个方面阐述一下题目中四个概念的区别与联系&#xff1a; 1、概念 2、生命周期 3、职责 4、执行过程 一、概念&#xff1a; 1、servlet&#xff1a;servlet是一种运行服务器端的Java应用程序&#xff0c;具有独立于平台和协议的特性&#xff0c;并且可以动态的生成web页…

电脑系统哪个最好用_袪痘袪痘印哪个产品最好 祛痘印最好用的产品十大推荐...

原标题&#xff1a;袪痘袪痘印哪个产品最好 祛痘印最好用的产品十大推荐痘痘下去了&#xff0c;痘印却顽固不化。有些痘印如果不及时修复&#xff0c;会留下疤痕和坑。我们真的不敢去想他们。所以有痘印痘印的时候一定要及时使用护肤品&#xff0c;不要在脸上留下什么遗憾&…

python中集合符号,Python 集合符号

Android SDK Manager 无法下载更新&#xff0c;或者更新速度超慢&#xff0c;或者待安装包列表不显示解决方法: 转自 http://www.cnblogs.com/tc310/archive/2012/12/21/2828450.html http://jingyan.baidu.com/artic ...AJAX学习AJAX即“Asynchronous Javascript And XML”(异…

五阿哥钢铁电商平台Docker容器云平台建设实践——你想知道的都在这里!

前言 五阿哥钢铁电商平台&#xff08;www.wuage.com&#xff09;是由钢铁行业第一的中国五矿与互联网第一的阿里巴巴联手打造&#xff0c;并充分运用双方股东优势资源&#xff0c;即&#xff1a;阿里巴巴在大数据、电商运营、互联网产品技术上的巨大优势&#xff0c;尤其是在B2…

oracle数据导入导出

一、exp/imp与expdp/impdp的区别 1&#xff1a;把用户usera的对象导到用户userb,用法区别在于fromuserusera touseruserb ,remap_schemausera:usera 。例如 imp system/passwd fromuserusera touseruserb file/oracle/exp.dmp log/oracle/exp.log; impdp system/passwd directo…

web浏览器_Web上的分享(Share)API

我认为Web Share API非常酷&#xff0c;简而言之&#xff0c;它会利用您所使用的平台上的原生共享功能(如果该平台支持的话)。我喜欢这个&#xff1a;在iOS上激活的Web Share API远远不止这些东西&#xff1a;为什么&#xff1f;Web Share API只是几行代码。简单&#xff01;没…

Oracle视图添加约束,Oracle创建视图的语法

Oracle创建视图的语法导读&#xff1a;就爱阅读网友为大家分享了多篇关于 "oracle 创建序列语法" 资料&#xff0c;内容精辟独到&#xff0c;非常感谢网友的分享&#xff0c;希望从中能找到对您有所帮助的内容。相关资料一 : Oracle 创建视图的语法Oracle 创建视图的…

linux压缩和解压缩命令

tar命令解包&#xff1a;tar zxvf FileName.tar打包&#xff1a;tar czvf FileName.tar DirNamegz命令解压1&#xff1a;gunzip FileName.gz解压2&#xff1a;gzip -d FileName.gz压缩&#xff1a;gzip FileName.tar.gz 和 .tgz解压&#xff1a;tar zxvf FileName.tar.gz压缩&a…

【Java进阶】Java Lambda 表达式、Stream API完整梳理

一、Lambda表达式 Lambda 表达式是一种匿名函数&#xff0c;它可以用来定义函数式接口的实现。Lambda 表达式可以用来简化代码&#xff0c;提高代码的可读性和可维护性。 1、Lambda 表达式 1.1、语法介绍 Lambda 表达式的语法如下&#xff1a; (parameters) -> express…

使用T-SQL语句操作数据表-删除数据

1.使用 delete 语句删除表中的数据&#xff1a;语法&#xff1a;delete from <表名> [where <删除条件>]delete 是删除的意思 where是选填内容可以不加&#xff0c;但是不加条件的话是删除整个表 例子&#xff1a;delete from 成绩表 where 姓名张三含义&#xff1…

Oracle expdp/impdp导出导入命令及数据库备份

经常报错&#xff1a; ORA-39002: invalid operation ORA-39070: Unable to open the log file. ORA-29283: invalid file operation ORA-06512: at "SYS.UTL_FILE", line 536 ORA-29283: invalid file operation 解决方法&#xff1a; 1、 CREATE OR REPLACE DI…

exfat单元分配要设置多少_微软宣布,支持往Linux内核里添加exFAT存储了!跨系统存储的福音...

栗子 发自 凹非寺 量子位 报道 | 公众号 QbitAIexFAT&#xff0c;是微软开发的文件系统&#xff0c;为闪存而生。你的U盘、SD卡、手机等等存储设备&#xff0c;能存4G以上的大文件&#xff0c;很大程度上是它的功劳。可exFAT一直是专有的&#xff0c;微软手握多项专利。所以&am…

在linux中安装oracle中文包,在Linux命令行下安装Oracle 10g

Oracle 10g支持在命令行下用静默模式(Silent)安装&#xff0c;给那些没有安装图形界面的Linux系统提供了极大的便利。下面以Fedora Core 6为例&#xff0c;介绍在命令行下安装OracleOracle 10g的方法。1 安装前的准备准备工作要用登录为root用户来进行。1.1 选择安装环境的语言…

Jetbrains 系 IDE 编辑器的代码提示功能

著名的 Jetbrains 可谓编程界的一大福音&#xff0c;众多有名代码编辑器比如 ItelliJ IDEA、PHPStorm、WebStorm、PyCharm 等&#xff0c;均出自这家公司麾下。 对于中国的Java开发者来说&#xff0c;可能使用 Eclipse 的人最多。 使用Idea的程序员也不少, 而且每个人都在鼓吹其…

Oracle下的Databse,Instance,Schemas

1、DATABASE&#xff0c;对oracle而言&#xff0c;是指物理上的数据库&#xff0c;一般你安装了一个oracle的数据库软件后&#xff0c;就是一个database。 2、instance&#xff0c;在同一个数据库上&#xff0c;可以建立多个实例&#xff0c;这些实例互相不干扰&#xff0c;每个…

oracle实验数据库和表,1oracle创建数据库和表.doc

1oracle创建数据库和表.doc实验一&#xff1a;创建数据库和表一、实验目的1. 掌握使用DBCA创建数据库2. 掌握手工创建Oracle数据库的方法3. 掌握创建数据表的方法二、实验内容及步骤1. 使用DBCA创建数据库(1) 打开DBCA组件,创建数据库sale.(2) 安装完后进入D:\oracle\product\1…

tkmybatis 子查询_真假童子命符箓道长教你如何查询

童子命查询方法一&#xff1a;童子命在相术里&#xff0c;指的是一生都霉运连连如过本命年的人。古代关于真童子命查询有口诀“春秋甲寅子&#xff0c;冬夏卯未辰&#xff1b; 金木乙卯未&#xff0c;水火庚辛壬&#xff1b; 土命逢辰巳&#xff0c;童子定为真”解释上面的口诀…

使用 nvm 安装 nodejs 和 npm

使用 nvm 可以方便的进行 nodejs 的安装和版本管理。其实最开始使用的是 n 命令&#xff0c;命令简洁到极致了&#xff0c;无奈总是安装不成功&#xff0c;往往下载一部分就报 curl 错误。然后又找到这个 nvm&#xff0c;配合淘宝源&#xff0c;简单快捷&#xff5e; 1.到 nvm …

ECLIPSE配置OSGI服务器

eclipse版本如下&#xff1a; Eclipse Java EE IDE for Web Developers. Version: Mars Release (4.5.0) Build id: 20150621-1200 ------------------------ 1、进入eclipse-----run----run configuration---osgi framework---new 2、取消全选 3、在搜索框中输入 osgi&a…