导航:首页 > 程序命令 > mysql命令行执行

mysql命令行执行

发布时间:2022-06-16 03:45:53

‘壹’ 如何运行mysql

Mysql分客户端和服务端。成功安装后,在服务器端,保证mysqld服务成功启动后,便可以通过客户端工具访问mysql了。
命令行可通过以下命令登陆mysql:
mysql
-uroot
-ppassword
(-u指定用户名,-p指定密码)
另外也可以通过基于浏览器的工具访问mysql,如phpmyadmin。

‘贰’ 怎样在win7中使用命令行启动mysql数据库服务

1、Win菜单键+R组合打开Winodws7运行窗口,在打开编辑框中输入cmd命令,打开Doc终端,如下图所示:
其中,Win菜单键即是在键盘左下角【Ctrl控制】键与【Alt换挡】键之间的那个键,带有Windows视窗标记。
2、登录MySQL命令行界面,连接MySQL
在终端界面中输入mysql
-hlocalhost
-uroot
-p123,出现MySQL的命令行界面,如下所示:
注意:上面的-h代表主机IP地址或者域名,localhost即代表本机地址127.0.0.1,-u是指MySQL用户名,此处为MySQL安装时的root用户,-p代表用户密码,安装MySQL
5.0.22时设置的密码为123。这个需要根据自己的情况进行输入。
3、显示MySQL数据库
可以看到MySQL里面有4个数据库,其中studb是新建的一个数据库,其余三个是MySQL默认提供的。。
4、选择数据库,使用use
数据库名;命令,如下所示:
假如选择新建的studb数据库:use
studb;
可以看到student表中有三个字段:id,name和math,有4列值
5、运行SQL查询语句
在studb数据库中建了一张student表
select
*
from
student;
运行如下
进入到mysql命令行界面后,其他的SQL语句和第7步的也差不多了,不多赘述,另外,如果要方便使用MySQL的话,可以安装一个MySQL图形界面GUI工具。

‘叁’ 如何在mysql shell命令中执行sql命令行

本文介绍 MySQL 8.0 shell 子模块 Util 的两个导入特性 importTable/import_table(JS和python 版本的命名差异)、importJson/import_json的使用方法。


其中 import_table 是通过传统 MySQL 协议来通信,Import_json 是通过 X 插件协议来通信。MySQL 一直以来提供导入文件 SQL 命令 load data infile(单线程)以及对应的可执行文件 mysqlimport(多线程)。


比如我导入 100W 行示例数据到表 ytt.tl1,花了 24 秒。这个已经是 MySQL 默认导入来的最快的。分析那我们现在看下 mysqlimport 工具的升级版,mysqlshell 的 util 工具集。


使用这两个工具之前,必须得临时开启 local_infile 选项。1. import_table建立 3306 端口的新连接我这里切换为 python 模式清空掉示例表 Ytt.tl1import_table 有两个参数,第一个参数定义导入文件的路径,第二个定义相关选项,比如导入的格式,并发的数量等。定义文件路径(参数1)定义选项(参数2)执行导入:只花了不到 17 秒,比传统 mysqlimport 快了不少。


我们上面指定了显式指定了字段分隔符,那有没有已经定义好的组合格式呢? 答案是有的,选项 dialect 可以指定以下格式:csv,tsv,json,csv-unix那么上面的导入,我们可以更简单,改下变量 y_options1 的定义导入时间差不多。这里要说明下,dialect 选项的优先级比较低,比如添加了'linesTerminatedBy':' ', 则覆盖他自己的' '。


选项 diaelect 还有一个可选值为 json,可以直接把 json 结果导入到文档表里。比如我新建一张表 tl1_json重新定义文件以及导入选项。导入 JSON 数据速度也还可以,不到 24 秒。那导入 json 数据,就必须得提到以 X 插件协议通信的工具 import_json了。2. imort_json我们切换到 mysqlx 端口import_json 参数和 Import_table 参数类似,这里我改下选项我在手册上没有看到多线程的选项,所以单线程跑 35 秒慢了些。查看刚刚导入的数据import_json 不仅仅可以导入 Json 数据,更重要的是可以在 BSON 和 JSON 之间平滑的转换,有兴趣的同学可以去 TRY 下。


‘肆’ 如何用命令行执行mysql的sql文件

使用source命令执行sql脚本。
进入mysql的控制台后,使用source命令执行
Mysql>source 【sql脚本文件的路径全名】
具体步骤:
假设运行sql脚本是hello.sql,在控制台下输入:
mysql>source c:\hello world\hello.sql(注意路径不用加引号) 或者 \. c:\hello world\hello.sql
然后回车即可

‘伍’ Mysql安装好后怎么进入命令行界面

1、执行mysql命令
2、如果已经把mysql\bin增加到PATH环境变量,windows在cmd命令行,linux在shell命令行,执行mysql即可进入mysql命令界面
3、如果没有增加,需要进入mysql/bin目录再执行mysql

‘陆’ mysql命令行工具如何执行脚本文件

mysql
-u
root
-p
#输入root密码
如果这个SQL里有
create
database
member;
这句,那么直接执行下面的语句,如果没有,那么你需要先
create
database
member;
use
member;
再执行下面的语句
source
/xxx/create_db_member.sql

‘柒’ 如何从命令行启动mysqld服务器

1、在命令行中启动mysql: 首先点击选择【开始】菜单栏中的【运行】,

‘捌’ 如何用批处理进入mysql命令行客户端进行各种操作

mysql既可以交互式地使用mysql输入查询并且查看结果。也可以以批模式运行mysql。为了做到这些,把你想要运行的命令放在一个文件中,然后告诉mysql从文件读取它的输入:
shell>
mysql
<
batch-file1
如果在Windows下运行mysql,并且文件中有一些可以造成问题的特殊字符,可以这样操作:
C:\>
mysql
-e
"source
batch-file"1
如果你需要在命令行上指定连接参数,命令应为:
shell>
mysql
-h
host
-u
user
-p
<
batch-file
Enter
password:
********12
当这样操作mysql时,则创建一个脚本文件,然后执行脚本。
如果你想在语句出现错误的时候仍想继续执行脚本,则应使用–force命令行选项。

‘玖’ mysql命令行下怎样实现数据的回滚操作

当启动Binlog后,事务会产生Binlog Event,这些Event被看做事务数据的一部分。因此要保证事务的Binlog Event和InnoDB引擎中的数据的一致性。所以带Binlog的CrashSafe要求MySQL宕机重启后能够保证:

- 所有已经提交的事务的数据仍然存在。

- 所有没有提交的事务的数据自动回滚。

- 所有已经提交了的事务的Binlog Event也仍然存在。

- 所有没有提交事务没有记录Binlog Event。

这些要求很好理解,如果重启后数据还在,但是Binlog Event没有了,就没办法复制到其他节点上了。如果重启后,数据没了,但是Binlog Event还在,那么不存在的数据就会被复制到其他节点上,从而导致主从的不一致。

为了保证带Binlog的CrashSafe,MySQL内部使用的两阶段提交(Two Phase Commit)。

2 - MySQL的Two Phase Commit(2PC)

在开启Binlog后,MySQL内部会自动将普通事务当做一个XA事务来处理:
- 自动为每个事务分配一个唯一的ID
- COMMIT会被自动的分成Prepare和Commit两个阶段。
- Binlog会被当做事务协调者(Transaction Coordinator),Binlog Event会被当做协调者日志。
想了解2PC,可以参考文档:【https://en.wikipedia.org/wiki/Two-phase_commit_protocol。】

- 分布式事务ID(XID)

使用2PC时,MySQL会自动的为每一个事务分配一个ID,叫XID。XID是唯一的,每个事务的XID都不相同。XID会分别被Binlog和InnoDB记入日志中,供恢复时使用。MySQ内部的XID由三部分组成:

- 前缀部分

前缀部分是字符串"MySQLXid"

- Server ID部分

当前MySQL的server_id
- query_id部分

为了保证XID的的唯一性,数字部分使用了query_id。MySQL内部会自动的为每一个语句分配一个query_id,全局唯一。

参考代码:sql/xa。h的struct xid_t结构。

- 事务的协调者Binlog

Binlog在2PC中充当了事务的协调者(Transaction Coordinator)。由Binlog来通知InnoDB引擎来执行prepare,commit或者rollback的步骤。事务提交的整个过程如下:

1. 协调者准备阶段(Prepare Phase)

告诉引擎做Prepare,InnoDB更改事务状态,并将Redo Log刷入磁盘。

2. 协调者提交阶段(Commit Phase)

2.1 记录协调者日志,即Binlog日志。

2.2 告诉引擎做commit。
注意:记录Binlog是在InnoDB引擎Prepare(即Redo Log写入磁盘)之后,这点至关重要。

在MySQ的代码中将协调者叫做tc_log。在MySQL启动时,tc_log将被初始化为mysql_bin_log对象。参考sql/binlog.cc中的init_server_components():
if (opt_bin_log) tc_log= &mysql_bin_log;

而在事务提交时,会依次执行:
tc_log->prepare();
tc_log->commit();
参考代码:sql/binlog.cc中的ha_commit_trans()。当mysql_bin_log是tc_log时,prepare和commit的代码在sql/binlog.cc中:

MYSQL_BIN_LOG::prepare();
MYSQL_BIN_LOG::commit();

-协调者日志Xid_log_event
作为协调者,Binlog需要将事务的XID记入日志,供恢复时使用。Xid_log_event有以下几个特点:
- 仅记录query_id
因为前缀部分不变,server_id已经记录在Event Header中,Xid_log_event中只记录query_id部分。
- 标志事务的结束

在Binlog中相当于一个事务的COMMIT语句。

一个事务在Binlog中看起来时这样的:
Query_log_event("BEGIN");DML产生的events; Xid_log_event;

- DDL没有BEGIN,也没有Xid_log_event 。
- 仅InnoDB的DML会产生Xid_log_event
因为MyISAM不支持2PC所以不能用Xid_log_event ,但会有COMMIT Event。
Query_log_event("BEGIN");DML产生的events;Query_log_event("COMMIT");

问题:Query_log_event("COMMIT")和Xid_log_event 有不同的影响吗?

- Xid_log_event 中的Xid可以帮助master实现CrashSafe。
- Slave的CrashSafe不依赖Xid_log_event
事务在Slave上重做时,会重新产生XID。所以Slave服务器的CrashSafe并不依赖于Xid_log_event 。Xid_log_event 和Query_log_event("COMMIT"),只是作为事务的结尾,告诉Slave Applier去提交这个事务。因此二者在Slave上的影响是一样的。

3 - 恢复(Recovery)
这个机制是如何保证MySQL的CrashSafe的呢,我们来分析一下。这里我们假设用户设置了以下参数来保证可靠性:

- 恢复前事务的状态
在恢复开始前事务有以下几种状态:
- InnoDB中已经提交
根据前面2PC的过程,可知Binlog中也一定记录了该事务的的Events。所以这种事务是一致的不需要处理。
- InnoDB中是prepared状态,Binlog中有该事务的Events。
需要通知InnoDB提交这些事务。
- InnoDB中是prepared状态,Binlog中没有该事务的Events。
因为Binlog还没记录,需要通知InnoDB回滚这些事务。
- Before InnoDB Prepare
事务可能还没执行完,因此InnoDB中的状态还没有prepare。根据2PC的过程,Binlog中也没有该事务的events。 需要通知InnoDB回滚这些事务。

- 恢复过程
从上面的事务状态可以看出:恢复时事务要提交还是回滚,是由Binlog来决定的。
- 事务的Xid_log_event 存在,就要提交。
- 事务的Xid_log_event 不存在,就要回滚。

恢复的过程非常简单:
- 从Binlog中读出所有的Xid_log_event
- 告诉InnoDB提交这些XID的事务
- InnoDB回滚其它的事务

‘拾’ 怎么用命令提示符运行mysql

方法/步骤

1
登陆mysql
打cmd命令终端,如果已经添加了mysql的环境变量,可以直接使用命令
mysql -uroot
直接回车,之后按提示输入密码,
如果未添加mysql的环境变量,可以切换到mysql的安装目录下的bin目录,再使用
mysq -uroot
你也可以手动为mysql添加环境变量。这里就不介绍怎么添加环境变量的方法了
密码输入正确之后,就会出现“Welcome to the MySQL monitor. Commands end with ; or \g. ......”字样,
命令行出现“mysql>”字符前缀。现在你就可以使用命令对mysql进行操作了。曾经有没有过这样的经历,原来看见别人在命令行里面咔咔的猛敲时,就一通的崇拜,觉得这人很牛,现在你也可以让别一通崇拜了。
mysql的所有命令都以";"或者\g为结束符

2
新建数据库
在新建数据库之后,我们先设置一下字符集
mysql>SET NAMES utf8;
然后再创建数据库
mysql>CREATE DATABASE lesson

3
显示所有数据库
mysql>SHOW DATABASES;

使用数据库
mysql>USE 数据库名;

新建表
mysql>CREATE TABLE study(
id int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '学生id号',
username varchar(30) NOT NULL DEFAULT '' COMMENT '学生名字',
class tinyint(3) unsigned NOT NULL,
sex enum('男','女','保密') CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '保密' COMMENT '性别',
addtime int(10) NOT NULL DEFAULT '0',
PRIMARY KEY (id)
)ENGINE=InnoDB COMMENT = '学生表';

显示所有表
mysql>SHOW TABLES;

修改表的名称
mysql>RENAME TABLE study TO study_new ;
或者
mysql>ALTER TABLE study_new RENAME TO study;

显示字段信息
SHOW COLUMNS FROM study或者DESCRIBE study

插入数据
mysql> insert into study (username,class,sex)VALUES('小王',1,'男'),('小四',2,'女');
查询数据(使concat函数拼接数据)
mysql> SELECT username,CONCAT(class,'班'),sex FROM study;

删除数据
mysql>DELETE FROM study WHERE id=1;

删除数据表
DROP TABLE study;

删除数据库
mysql> DROP DATABASE lesson;

阅读全文

与mysql命令行执行相关的资料

热点内容
吃鸡手机国际服服务器超时怎么办 浏览:66
努比亚Z5无命令 浏览:640
展示网站云服务器 浏览:870
代码混淆器php 浏览:365
贝恩pdf 浏览:207
丙烯pdf 浏览:366
云服务器华硕 浏览:711
sublime3运行python 浏览:188
怎么把安卓视频传到苹果上面 浏览:81
手机拍鬼片用什么app 浏览:640
爬山虎app是干什么用的 浏览:505
有哪些写给程序员的歌 浏览:49
成都市命令 浏览:993
建立系列文件夹 浏览:983
苹果开机白屏带文件夹问号 浏览:733
体验服为什么服务器会关闭 浏览:41
酒店命令 浏览:750
中走丝线切割编程视频 浏览:80
衣服压缩袋手泵原理 浏览:714
通达信编程书籍 浏览:981