前言:
在新公司只能通过堡垒机链接数据库,少了Navicat 的图形化,略微不习惯
正文:
参数名 | 含义 |
---|---|
-h | 表示服务器进程所在计算机的域名或者IP地址,如果服务器进程就运行在本机的话,可以省略这个参数,或者填localhost 或者127.0.0.1 。也可写作 --host=主机名 的形式。 |
-u | 表示用户名。也可写作 --user=用户名 的形式。 |
-p | 表示密码。也可写作 --password=密码 的形式。 |
客户端链接服务端例子
mysql -hlocalhost -uroot -p123456
另外 -p
和密码值之间不能有空白字符(其他参数名之间可以有空白字符):
mysql -h localhost -u root -p123456
还有 mysql
的各个参数的摆放顺序没有硬性规定
mysql -p -u root -h localhost
若想断开客户端与服务端链接,并关闭客户端, 可以在mysql>
提示符后输入下边任意一个命令:
quit
exit
\q
例如
mysql> quit Bye
注意,若出现 Bye 只是客户端程序已经关掉了
链接服务端的时候,强烈建议用这种形式
mysql -hlocalhost -uroot -p
点击回车之后才会提示你输入密码:
Enter password:
主要是保护密码安全,防止被他人看见
MySQL
支持下边三种客户端进程和服务器进程的通信方式。
1、TCP/IP
2、命名管道和共享内存
3、Unix域套接字文件
服务器程序处理来自客户端的查询请求大致需要经过三个部分,分别是连接管理
、解析与优化
、存储引擎
。
1、连接管理
每当有一个客户端进程连接到服务器进程时,服务器进程都会创建一个线程来专门处理与这个客户端的交互,当该客户端退出时会与服务器断开连接,服务器并不会立即把与该客户端交互的线程销毁掉,而是把它缓存起来,在另一个新的客户端再进行连接时,把这个缓存的线程分配给该新客户端。
这样就起到了不频繁创建和销毁线程的效果,从而节省开销。
注意: 服务器会为每一个连接进来的客户端分配一个线程,但是线程分配的太多了会严重影响系统性能,所以需要限制一下可以同时连接到服务器的客户端数量 。
2、解析与优化
INSERT
、 UPDATE
、DELETE
、TRUNCATE TABLE
、ALTER TABLE
、DROP TABLE
或 DROP DATABASE
) 则该表的所有高速缓存查询都将变为无效并从高速缓存中删除!MySQL
服务器内部使用的一些数据结构上来。MySQL
语句执行起来效率,但MySQL
的优化程序会对我们的语句做一些优化。EXPLAIN
语句来查看某个语句的执行计划。3、存储引擎
MySQL
服务器把数据的存储和提取操作都封装到了一个叫存储引擎
的模块里 。
所谓的表
是由一行一行的记录组成的,但这只是一个逻辑上的概念
为了实现不同的功能,MySQL
提供了各式各样的存储引擎
,不同存储引擎
管理的表具体的存储结构可能不同,采用的存取算法也可能不同。
最常用的就是InnoDB
和MyISAM
查看当前服务器程序支持的存储引擎
SHOW ENGINES;
mysql> SHOW ENGINES; +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+ | Engine | Support | Comment | Transactions | XA | Savepoints | +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+ | InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES | | MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO | | MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO | | BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO | | MyISAM | YES | MyISAM storage engine | NO | NO | NO | | CSV | YES | CSV storage engine | NO | NO | NO | | ARCHIVE | YES | Archive storage engine | NO | NO | NO | | PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO | | FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL | +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+ 9 rows in set (0.00 sec) mysql>
Support
列表示该存储引擎是否可用;
DEFAULT
值代表是当前服务器程序的默认存储引擎;
Comment
列是对存储引擎的一个描述;
Transactions
列代表该存储引擎是否支持事务处理;
XA
列代表着该存储引擎是否支持分布式事务;
Savepoints
代表着该存储引擎是否支持部分事务回滚;
创建表时指定存储引擎
CREATE TABLE 表名( 建表语句; ) ENGINE = 存储引擎名称;
修改表的存储引擎
ALTER TABLE 表名 ENGINE = 存储引擎名称;