目录

Mysql引擎:MyISAM和innoDB

索引

普遍索引

mysql安装

MySQL管理

mysqladmin 

mysqldump 

mysqlshow 

Mysql基础命令


Mysql引擎:MyISAM和innoDB

mysql注册服务设置服务名 mysql 创建服务_Linux

索引

快速查找,使用索引明显加快,索引也是一个文件,但是 创建索引就意味着插入修改变慢

普遍索引

mysql注册服务设置服务名 mysql 创建服务_Linux_02

...

mysql安装

安装命令:apt-get install mysql-server mysql-client

mysql开发工具包:sudo apt install libmysqlclient-dev

查看各工具目录:mysql_config --cflags --libs

 

mysql注册服务设置服务名 mysql 创建服务_Linux_03

输入密码,再次输入密码

 

安装结束后,MySQL服务器应该自启动,输入:netstat -tap | grep mysql 检查MySQL服务器是否正在运行:

mysql注册服务设置服务名 mysql 创建服务_mysql注册服务设置服务名_04

 

若服务器没有启动成功,输入如下指令手工启动:/etc/init.d/mysql restart

在MySQL服务器启动成功后,输入如下指令进入MySQL:mysql -u root -p

然后输入密码进入mysql

其中,-u为用户名,-p为密码,-p后面的密码可以不在指令中填写,在指令执行后mysql会要求输入密码,当然,使用mysql -u root ppassword可直接进入MySQl

在mysql提示符后面输入quit便可以退出MySQL

MySQL管理

除了上述mysql -u root -p,MySQL自带其它少量管理指令,在编写访问MySQL程序之前,可以简要了解一下:

所有指令都有3个标准参数: -u Username -p[Password] -h host 
-u后面的参数为MySQL用户名,-p后面的参数为密码,若不在指令中给出,则进入MySQL会提示输入密码,-h后面的参数用于在不同主机上连接一台服务器,对于本地服务器则此参数可以省略。

mysqladmin 

mysqladmin为主要的管理指令,该指令有几个主要命令选项:

| create dbname |创建一个名为dbname的新数据库 | 
| drop dbname | 删除dbname数据库 | 
| flush-tables | 清洗所有列表 | 
| password newpassword | 用newpassword变更原有口令 | 
| shutdown | 关掉MySQL服务器 | 
| status | 给出服务器的简短状态信息 | 
| variables | 打印所有可用变量 | 
| version | 给出服务器的版本信息 |

举例: 
查看服务器状态:

$sudo mysqladmin -u root -p status

mysqldump 

mysqldump指令可以将数据库(所有或选定的表)导出到一个文件中,一般用作备份,该指令有几个主要命令选项:

| - -add-locks | 在每个表导出之前增加LOCK TABLES并且之后UNLOCK TABLE | 
| - -add-drop-table | 在每个create语句之前增加一个drop table | 
| - -allow-keywords | 允许创建时关键词的列的名字 | 
| -c, - -complete-insert | 使用完整的insert语句 | 
| -C,- -compress | 如果客户和服务器均支持压缩,压缩两者之间的所有信息 | 
| - -delayed | 用INSERT DELAYED 命令插入行 | 
| -d,- -no-data | 不写入表的任何行信息,只导出表结构 | 
| -t,- -no-create-info | 不写入表创建信息(CREATE TABLE语句) | 
| - -help | 显示帮助信息 |

举例: 
将数据库mysql导出到文件test.bak中:

$mysqldump -u root -p mysql>/home/wangqingchuan92/Desktop/test.bak


 

mysqlshow 

根据设定的参数显示服务器、数据库或者表的信息: 
(1)没有参数时,列出所有可用的数据库; 
(2)参数是一个数据库时,列出数据库中所有的表; 
(3)参数是一个数据库及一个表的名称时,列出指定列的信息; 
(4)参数是数据库、表和列时,列出制定列的信息。

Mysql基础命令

show databases;   查看所有数据库
use test;                 进入数据库test
show tables           查看所有表
create table user(id int,name varchar(16),passwd varchar(16),age int,addr varchar(16));   创建表
insert into user values ('1','wd','123','25','tianjing'); 插入一条数据
select * from user where name like '%j%';   查询name字段中含有j的行