Mysql常用命令行大全(转)

数据库从开始的一段时代的数据文件的简约会集发展到今日的巨型数据库管理连串已经成为大家平日生活中不得缺点和失误的组成都部队分。借使不依赖于数据库的扶植,好些个简便的行事将变得冗长没味,以至难以完毕。越发是象银行、学校和体育场地这么的重型团队更加的正视数据库系统贯彻其常规的周转。再看互联英特网,从寻觅引擎到在线市集,从互连网谈天到邮件列表,都离不开数据库。

导入导出对于mysql来说正是数据备份了,上面作者来介绍在重特大数据量时怎么行使mysql命令对数据库举行备份与回复操作,希望些方法对各位有所帮忙。

先是招、mysql服务的开发银行和终止

日前,市道上的数据库成品不计其数,从大型集团的应用方案到中型Mini企业或个人顾客的Mini应用系列,可以满意客商的多样化必要。这里,我们所要向大家介绍的MySQL数据库是无数的关系型数据库成品中的三个,相相比较别的系统来讲,MySQL数据库能够堪当是现阶段运维速度最快的SQL语言数据库。除了富有众多别样数据库所不有所的作用和接收之外,MySQL数据库是一种完全无需付费的制品,客商能够直接从英特网下载数据库,用于个人或商业用场,而不必支付任何开支。

面前遭遇大数据量,大文件的sql操作,我们供给依据mysql强盛的吩咐操作:

net stop mysql

全部来讲,MySQL数据库具备以下重点特征:

  1. 数据库导入命令

net start mysql

  1. 并且做客数据库的客户数量不受约束;

  2. 能够保留超越50,000,000条记下;

  3. 是时下市镇上现存付加物中运作速度最快的数据库系统;

  4. 客户权限设置简单、有效。

 代码如下

第二招、登陆mysql

现行反革命,富含西门子(Siemens卡塔尔(قطر‎和Silicon
Graphics那样的国际名牌企业也开始把MySQL作为其数据库管理种类,那就特别证实了MySQL数据库的减价质量和周围的商海发展前途。

复制代码

语法如下: mysql -u客户名 -p客户密码

本文将根本向读者介绍MySQL数据库的一部分基本操作,富含怎么样与数据库建构连接,假设设置数据库,以致怎么样实践基本的命令等。希望能够对读者学习和明白MySQL数据库有所帮助和益处。

mysql -h localhost -u root -p  
use dbname
source backup.sql

键入命令mysql -uroot -p,
回车的后边提示您输入密码,输入12345,然后回车就能够步入到mysql中了,mysql的唤醒符是:

入门

注解:要求使用命令连接上数据库并精选相应数据库才具接收。

mysql>

平常的话,我们探访MySQL数据库时,首先必要使用telnet远程登陆安装数据库系统的服务器,然后再进来MySQL数据库。MySQL数据库的连年命令如下:

  1. 数据库备份命令

静心,要是是连接纳其余的机械上,则必要出席二个参数-h机器IP

mysql -h hostname -u username -p[password]

MySQL的导出命令mysqldump,基本用法是:

其三招、扩大新客商

或者:

 代码如下

格式:grant 权限 on 数据库.* to 客商名@登入主机 identified by “密码”

mysql -h hostname -u username –password=password

复制代码

如,扩展二个客户user1密码为password1,让其得以在本机上登入,
并对具有数据库有查询、插入、更改、删除的权柄。首先用以root顾客连入mysql,然后键入以下命令:

内部,hostname为持有MySQL数据库的服务器名称,username和password分别是客商的记名名称和口令。

mysqldump [OPTIONS] database [tables]

grant select,insert,update,delete on *.* to user1@localhost Identified
by “password1”;

设若MySQL数据库安装和布置不错的话,顾客在输入上述命令之后会赢得如下系统报告信息:

证明:不能够先接二连三数据库,是间接连接数据库导出

万一指望该客商能够在其它机器上登录mysql,则将localhost改为”%”。

Welcome to the MySQL monitor. Commands end with ; or /g.

轻巧实例:

要是您不想user1有密码,可以再打叁个限令将密码去掉。

Your MySQL connection id is 49 to server version: 3.2 3-beta-log

 

grant select,insert,update,delete on mydb.* to user1@localhost
identified by “”;

Type help for help.

 代码如下

第四招: 操作数据库

mysql$#@62;

复制代码

报到到mysql中,然后在mysql的指示符下运转下列命令,每个命令以事务部停止。

如此,顾客就成功进入了MySQL数据库系统,能够在mysql$#@62;命令提醒符之后输入种种指令。上面,大家列出一些MySQL数据库的首要管理命令供读者参照他事他说加以考查,客户也得以透过在命令符之后输入help,/h或?取得以下命令的粗略表明。

mysqldump -h localhost -u root -p dbname > backup.sql

1、 呈现数据库列表。

mysql$#@62; help

MySQL的mysqldump命令,基本用法是:

show databases;

help (/h卡塔尔(قطر‎ 展现命令帮忙

mysqldump [OPTIONS] database [tables]说明:

缺省有多个数据库:mysql和test。
mysql库贮存着mysql的种类和客商权限新闻,大家改密码和新添客商,实际上正是对这些库开展操作。

? (/h卡塔尔 成效同上

  1. 透过进行mysqldump
    –help,你能博得你mysqldump的本子支持的选取扶植音讯。
    2.只要端口为暗中同意的3306时,可省略 -P {端口号} 这一项。

2、 呈现库中的数据表:

clear (/c卡塔尔 解除显示器内容

3.命令行格式中 { } 中的内容都以变量
主机名 : {hostname}
端   口:{port}    (常常暗许3306,可缺省)
用户名:{user} {username} (如root)
密   码:{password}
数据库名 :{database}
表   名:{table}  {table1}  {table2}
文件名:{backup.sql}

use mysql;

connect (/r卡塔尔(قطر‎ 重新连接服务器,可选参数为 db和 host

.常用操作:

show tables;

exit (/卡塔尔国 退出mysql数据库,功效与quit命令相近

备份MySQL整个数据库:

3、 显示数据表的布局:

go (/g卡塔尔(قطر‎ 将下令传送至mysql数据库

 代码如下

describe 表名;

print (/p卡塔尔国 打字与印刷当前下令

复制代码

4、 建库与删库:

quit (/q) 退出mysql数据库

mysqldump -h主机名 -P端口 -u用户名 -p密码 (–databaseState of Qatar 数据库名 >
文件名.sql
mysqldump -h{hostname} -P{port} -u{username} -p{password} {database}
> {backup.sql}

create database 库名;

status (/s卡塔尔 展现服务器当前新闻

申明:参数及值能够分离如-P3306方可写成-P
3306,密码能够先不填写,以确定保障卫安全全。

drop database 库名;

use (/u卡塔尔 展开数据库,以数据库名称作为命令参数

MySQL数据库压缩备份:

5、 建表:

上述命令首要用以MySQL数据库的系统一管理理,假诺客户要求对有个别具体的数据库举办操作,能够选取use命令步入该数据库,格式如下:

 代码如下

use 库名;

mysql$#@62; use dbname;

复制代码

create table 表名(字段列表State of Qatar;

此处必要提示读者注意的一点就是MySQL数据库供给使用者在享有命令的结尾处使用“;”作为命令甘休符。

mysqldump -h{hostname} -u{username} -p{password} {database} | gzip >
{backup.sql.gz}

drop table 表名;

数据类型和数据表

备份MySQL数据库有些(些卡塔尔国表:

6、 清空表中著录:

从精气神上说,数据库便是一种持续升高的纷纷的数据组织布局。在MySQL数据库中,用于保存数据记录的社团被叫作数据表。而每一条数据记录则是由更加小的数目对象,即数据类型组成。因而,总体来说,贰个或多少个数据类型组成一条数据记录,一条或多条数据记录组成多少个数据表,三个或四个数据表组成贰个数据库。大家得以把上述社团掌握为如下情势:

mysqldump -h主机名  -P端口 -u顾客名 -p密码 (–tables | –quickState of Qatar 数据库名
表名1 (表名2 …) > 文件名.sql (括号中的可缺省State of Qatar。
#实例:

delete from 表名;

Database $#@60; Table $#@60; Record $#@60; Datatype

 代码如下

7、 显示表中的笔录:

数据类型分为不相同的格式和大小,能够一本万利数据库的筹划人士创制最特出的数据布局。能还是无法准确的选项适宜的数据类型对最后数据库的性格有所至关心重视要的震慑,由此,大家有供给首先对数据类型的关于概念举办比较详细的牵线。

复制代码

select * from 表名;

MySQL 数据类型

mysqldump -u root -p myadmindb admin_group admin_group_right
admin_logs admin_user_right admin_users > tmp.sql

第五招、导出和导入数据

MySQL 数据库提供了三种数据类型,在那之中相比较常用的两种如下:

相同的时候备份八个MySQL数据库:

  1. 导出数据:

CHAR (M)

 代码如下

mysqldump –opt test > mysql.test

CHAENCORE数据类型用于表示固定长度的字符串,能够包括最多达2伍11个字符。此中M代表字符串的尺寸。

复制代码

将在数据库test数据库导出到mysql.test文件,前面一个是七个文件文件

<

mysqldump -h{hostname} -P{port} -u{username} -p{password} –databases
{database1} {database2} {database3} > multibackfile.sql

如:mysqldump -u root -p123456 –databases dbname > mysql.dbname

还原MySQL数据库的一声令下:

不畏把数据库dbname导出到文件mysql.dbname中。

 代码如下

  1. 导入数据:

复制代码

mysqlimport -u root -p123456 < mysql.dbname。

mysql -h{hostname} -u{username} -p{password} {database} <
{backup.sql}

不用解释了啊。

光复压缩的MySQL数据库:

  1. 将文件数据导入数据库:

 代码如下

文本数据的字段数据里面用tab键隔绝。

复制代码

use test;

gunzip < {backup.sql.gz} | mysql –u{username} –p{password} {database}

load data local infile “文件名” into table 表名;

将数据库转移到新服务器:

1:使用SHOW语句搜索在服务器上近年来留存什么样数据库:

 代码如下

mysql> SHOW DATABASES;

复制代码

2:2、创立三个数据库MYSQLDATA

mysqldump –u{username} –p{password} {database} | mysql –host={hostname}
–C {database}

mysql> CREATE DATABASE MYSQLDATA;

3:接收你所创制的数据库

mysql> USE MYSQLDATA; (按回车键现身Database changed 时表达操作成功!)

4:查看今后的数据库中存在什么表

mysql> SHOW TABLES;

5:成立四个数量库表

mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));

6:展现表的组织:

mysql> DESCRIBE MYTABLE;

7:往表中参预记录

mysql> insert into MYTABLE values (“hyq”,”M”);

8:用文件格局将数据装入数据库表中(举个例子D:/mysql.txt卡塔尔

mysql> LOAD DATA LOCAL INFILE “D:/mysql.txt” INTO TABLE MYTABLE;

9:导入.sql文件命令(举个例子D:/mysql.sqlState of Qatar

mysql>use database;

mysql>source d:/mysql.sql;

10:删除表

mysql>drop TABLE MYTABLE;

11:清空表

mysql>delete from MYTABLE;

12:更新表中数量

mysql>update MYTABLE set sex=”f” where name=’hyq’;

posted on 2006-01-10 16:21 happytian 阅读(6) 评论(0) 编辑 收藏
收藏至365Key

13:备份数据库

mysqldump -u root 库名>xxx.data

14:例2:连接到长途主机上的MYSQL

假设远程主机的IP为:110.110.110.110,顾客名称为root,密码为abcd123。则键入以下命令:

mysql -h110.110.110.110 -uroot -pabcd123

(注:u与root能够绝不加空格,别的也一致卡塔尔国

3、退出MYSQL命令: exit (回车)

 

=====================================================================

1:使用SHOW语句寻觅在服务器上脚下存在什么样数据库:
mysql> SHOW DATABASES;
2:2、创建多个数据库MYSQLDATA
mysql> CREATE DATABASE MYSQLDATA;
3:采取你所创造的数据库
mysql> USE MYSQLDATA; (按回车键现身Database changed
时表明操作成功!卡塔尔
4:查看今后的数据库中存在什么样表
mysql> SHOW TABLES;
5:创造一个数量库表
mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));
6:展现表的构造:
mysql> DESCRIBE MYTABLE;
7:往表中步向记录
mysql> insert into MYTABLE values (“hyq”,”M”);
8:用文件格局将数据装入数据库表中(比如D:/mysql.txt)
mysql> LOAD DATA LOCAL INFILE “D:/mysql.txt” INTO TABLE MYTABLE;
9:导入.sql文件命令(举例D:/mysql.sql)
mysql>use database;
mysql>source d:/mysql.sql;
10:删除表
mysql>drop TABLE MYTABLE;
11:清空表
mysql>delete from MYTABLE;
12:更新表中数量
mysql>update MYTABLE set sex=”f” where name=hyq;

以下是无心中在互联网见到的运用MySql的管理阅世,
摘自: 
  
在windows中MySql以服务方式存在,在利用前应有限支撑此服务一度运行,未运维可用net
start mysql命令运转。而Linux中运维时可用“/etc/rc.d/init.d/mysqld
start”命令,注意运营者应持有管理员权限。
刚安装好的MySql包涵叁个含空密码的root帐户和五个无名帐户,那是相当大的安全隐患,对于部分首要的施用大家应将安全性尽大概提升,在这里间应把无名氏帐户删除、
root帐户设置密码,可用如下命令举行:
use mysql;
delete from User where User=””;
update User set Password=PASSWORD(newpassword) where User=root;
假使要对客户所用的登入终端进行界定,能够更新User表中相应客商的Host字段,在进展了上述改进后应重新起动数据库服务,当时报届期可用如下相似命令:
mysql -uroot -p;
mysql -uroot -pnewpassword;
mysql mydb -uroot -p;
mysql mydb -uroot -pnewpassword;
地点命令参数是常用参数的一有的,详情可参照文书档案。此处的mydb是要登入的数据库的称谓。
在进展付出和实际应用中,客商不应有只用root客商举办连接数据库,即便采用root客商张开测验时很方便,但会给系统带给主要安全隐患,也不便利管理本事的增高。我们给贰个利用中利用的顾客授予最适用的数据库权限。如一个只举办多少插入的客商不应付与其删除数据的权能。MySql的顾客管理是经过User表来完成的,增添新客商常用的法子有几个,一是在User表插入相应的数目行,同有的时候候设置相应的权杖;二是通过GRANT命令创设具有某种权力的顾客。在那之中GRANT的常用用法如下:
grant all on mydb.* to NewUserName@HostName identified by “password”
;
grant usage on *.* to NewUserName@HostName identified by “password”;
grant select,insert,update on mydb.* to NewUserName@HostName identified
by “password”;
grant update,delete on mydb.TestTable to NewUserName@HostName identified
by “password”;
若要给此顾客付与他在相应对象上的权杖的保管力量,可在GRANT前边添加WITH
GRANT OPTION选项。而对于用插入User表加多的客商,Password字段应用PASSWO奥迪Q5D
函数实行翻新加密,以免不轨之人窃看密码。对于这一个早就不用的顾客应予以覆灭,权限过界的客商应立时回笼权限,回收权限能够通过更新User表相应字段,也足以应用REVOKE操作。
下边给出自身从别的材料(www.cn-java.comState of Qatar获得的对常用权力的演讲:
大局处理权限:
FILE: 在MySQL服务器上读写文件。
PROCESS: 显示或杀死归于其他客商的劳动线程。
RELOAD: 重载访谈调控表,刷新日志等。
SHUTDOWN: 关闭MySQL服务。
数据库/数据表/数据列权限:
ALTEOdyssey: 纠正已存在的数据表(比方扩充/删除列State of Qatar和目录。
CREATE: 创立新的数据库或数据表。
DELETE: 删除表的记录。
DROP: 删除数据表或数据库。
INDEX: 建设构造或删除索引。
INSERT: 扩展表的笔录。
SELECT: 展现/寻觅表的笔录。
UPDATE: 更改表中已存在的记录。
特地的权限:
ALL: 允许做其余事(和root同样State of Qatar。
USAGE: 只同意登陆–此外什么也不容许做。

 

常用MYSQL命令 
启动:net start mySql; 
  进入:mysql -u root -p/mysql -h localhost -u root -p
databaseName; 
  列出数据库:show databases; 
  选用数据库:use databaseName; 
  列出表格:show tables; 
  创立数据表:mysql> CREATE TABLE mytable (name VARCHA奇骏(20State of Qatar, sex
CHA汉兰达(1卡塔尔(قطر‎, 
-> birth DATE, birthaddr VARCHAR(20)); 
    显示表格列的性质:show columns from tableName; 
    修改表的构造:DESCTiggoIBE mytable; 
  创设数据库:source fileName.txt; 
  相称字符:能够用通配符_意味着任何三个字符,%代表任何字符串; 
  增添多个字段:alter table tabelName add column 田野先生Name
dateType; 
  增添三个字段:alter table tabelName add column 田野Name1
dateType,add columns 田野先生Name2 dateType; 
  多行命令输入:注意无法将单词断开;当插入或退换数据时,不能够将字段的字符串展开到多行里,不然硬回车将被存放到数码中; 
  增加四个大班帐户:grant all on *.* to user@localhost identified
by “password”; 
  每条语句输入实现后要在最后填加分号’;’,可能填加’g’也可以; 
  查询时间:select now(); 
  查询当前客户:select user(卡塔尔国; 
  查询数据库版本:select version(卡塔尔(قطر‎; 
  查询当前使用的数据库:select database(State of Qatar; 
   
    用文件情势将数据装入一个数据库表 

  假诺一条一条地输入,很麻烦。我们能够用文件文件的情势将兼具记录步入你的数据库表中。创设叁个文本文件“mysql.txt”,每行满含三个记录,用定位符(tab卡塔尔(قطر‎把值分开,而且以在CREATE
TABLE语句中列出的列次序给出,比方: 

abccs f 1977-07-07 china   mary f 1978-12-12 usa tom m 1970-09-02
usa 

  使用下边发号布令将文件文件“mytable.txt”装载到mytable表中:mysql> LOAD
DATA LOCAL INFILE “mytable.txt” INTO TABLE pet; 

  再利用如下命令看看是否已将数据输入到数据库表中:mysql> select *
from mytable; 
(e129)    
  1、删除student_course数据库中的students数据表: 
  rm -f student_course/students.* 
   
  2、备份数据库:(将数据库test备份卡塔尔 
  mysqldump -u root -p test>c:test.txt 
  备份表格:(备份test数据库下的mytable表格卡塔尔 
  mysqldump -u root -p test mytable>c:test.txt 
  将备份数据导入到数据库:(导回test数据库卡塔尔 
  mysql -u root -p test<c:test.txt 
   
  3、创设偶尔表:(建构有的时候表zengchao卡塔尔(قطر‎ 
  create temporary table zengchao(name varchar(10)); 
   
  4、创造表是先推断表是不是存在 
  create table if not exists students(……); 
   
  5、从已经有的表中复制表的布局 
  create table table2 select * from table1 where 1<>1; 
   
  6、复制表 
  create table table2 select * from table1; 
   
  7、对表重新命名 
  alter table table1 rename as table2; 
   
  8、校正列的连串 
  alter table table1 modify id int unsigned;//改进列id的门类为int
unsigned 
  alter table table1 change id sid int
unsigned;//校勘列id的名称为sid,并且把质量匡正为int unsigned 
   
  9、成立索引 
  alter table table1 add index ind_id (id); 
  create index ind_id on table1 (id); 
  create unique index ind_id on table1 (idState of Qatar;//创设唯一性索引 
   
  10、删除索引 
  drop index idx_id on table1; 
  alter table table1 drop index ind_id; 
   
  11、联合字符或然两个列(将列id与”:”和列name和”=”连接State of Qatar 
  select concat(id,’:’,name,’=’) from students; 
   
  12、limit(选出10到20条卡塔尔(قطر‎<第八个记录集的号码是0> 
  select * from students order by id limit 9,10; 
   
  13、MySQL不扶植的功效 
  事务,视图,外键和援引完整性,存款和储蓄进程和触发器 
   
   
  14、MySQL会利用索引的操作符号 
  <,<=,>=,>,=,between,in,不带%或者_开头的like 
   
  15、使用索引的瑕玷 
  1卡塔尔减慢增加和删除改数据的速度; 
  2)占用磁盘空间; 
  3)扩大查询优化器的承负; 
  当查问优化器生成试行安插时,会思量索引,太多的索引会给查询优化器扩展专门的学问量,引致超小概选取最优的询问方案; 
   
  16、解析索引作用 
  方法:在相似的SQL语句前加上explain; 
  深入分析结果的意思: 
  1)table:表名; 
  2)type:连接的门类,(ALL/Range/Ref卡塔尔(قطر‎。此中ref是最理想的; 
  3)possible_keys:查询能够选拔的索引名; 
  4)key:实际运用的目录; 
  5)key_len:索引中被应用一些的尺寸(字节); 
  6)ref:展现列名字恐怕”const”(不精晓怎么看头); 
  7)rows:展现MySQL感到在找到正确结果在此以前必需扫描的行数; 
  8)extra:MySQL的建议; 
   
  17、使用非常的短的定长列 
  1)尽恐怕使用非常的短的数据类型; 
  2)尽恐怕接纳定长数据类型; 
  a)用char替代varchar,固定长度的数据管理比变长的快些; 
  b)对于频仍校订的表,磁盘轻便形成碎片,进而影响数据库的总体品质; 
  c)万一现身数量表崩溃,使用固定长度数据行的表更便于重新构造。使用一定长度的数额行,每种记录的开头地点都是一直记录长度的翻番,能够比较轻易被检查测量检验到,可是利用可变长度的数据行就不自然了; 
  d)对于MyISAM类型的数据表,即便调换到固定长度的数据列能够抓好质量,但是占用的空间也大; 
   
  18、使用not null和enum 
  尽量将列定义为not
null,那样可使数据的出来越来越快,所需的上空越来越少,並且在查询时,MySQL无需检查是或不是留存特例,即null值,进而优化查询; 
  假设一列只含有一定量数量的特定值,如性别,是或不是行得通只怕入学年份等,在此种状态下相应考虑将其更动为enum列的值,MySQL管理的越来越快,因为具有的enum值在系统内都以以标记数值来表示的; 
   
  19、使用optimize table 
  对于时常校订的表,轻便爆发碎片,使在查询数据库时必须读取更加多的磁盘块,减少查询品质。具备可变长的表都存在磁盘碎片难点,这么些主题素材对blob数据类型更为特出,因为其尺寸变化不小。能够透过利用optimize
table来照看碎片,保险数据库品质不下滑,优化那么些受碎片影响的数据表。
optimize
table能够用于MyISAM和BDB类型的数据表。实际上任何碎片收拾方法都以用mysqldump来转存数据表,然后接收转存后的文本仁同一视复建数据表; 
   
  20、使用procedure analyse() 
  能够行使procedure
analyse(卡塔尔显示最棒类型的提议,使用很简短,在select语句前边加上procedure
analyse(State of Qatar就足以了;举个例子: 
  select * from students procedure analyse(); 
  select * from students procedure analyse(16,256); 
  第二条语句供给procedure
analyse(卡塔尔国不要建议含有多于17个值,大概含有多于256字节的enum类型,若无节制,输出大概会非常长; 
   
  21、使用查询缓存 
  1)查询缓存的劳作方法: 
  第二次进行某条select语句时,服务器记住该查询的文件内容和查询结果,存款和储蓄在缓存中,后一次遇见这么些讲话时,直接从缓存中回到结果;当更新数据表后,该数据表的其余缓存查询都成为无效的,况且会被放弃。 
  2)配置缓存参数: 
  变量:query_cache
_type,查询缓存的操作方式。有3中格局,0:不缓存;1:缓存查询,除非与select
sql_no_cache开首;2:依照供给只缓存那几个以select
sql_cache开首的询问;query_cache_size:设置查询缓存的最大结果集的大小,比这些值大的不会被缓存。 
   
  22、调治硬件 
  1)在机械上装更加多的内部存款和储蓄器; 
  2)扩充越来越快的硬盘以减小I/O等待时间; 
  寻道时间是决定性能的要紧成分,逐字地移动磁头是最慢的,一旦磁头定位,从磁道读则火速; 
  3)在差异的物理硬盘设备上海重机厂新分配磁盘活动; 
  假诺大概,应将最繁忙的数据库存放在不相同的物理设备上,那跟使用同一物理设备的不如分区是例外的,因为它们将争用平等的情理能源(磁头)。

1、启动MySQL服务器 
   
 三种方法:
一是用winmysqladmin,借使机器运转时已自行运维,则可直接进去下一步操作。
二是在DOS格局下运维 d:mysqlbinmysqld 
 (假设mysql 安装在d:mysql卡塔尔;当然也足以 net start
mysql命令运转。而Linux中运营时可用“/etc/rc.d/init.d/mysqld
start”命令,注 意运转者应具有管理员权限。 
  
2、步入mysql交互作用操作分界面 
   
  在DOS方式下,运行: d:mysqlbinmysql 
  现身: mysql 的提示符” mysql>
“,这时候已跻身mysql的并行操作方法。 
  假使现身 “E凯雷德ROLacrosse 二〇〇二: Can′t connect to MySQL server on ′localhost′
(10061卡塔尔“,表达你的MySQL还没运转。 
   
3、退出MySQL操作分界面 
   
  在mysql>提醒符下输入quit能够随即退出人机联作操作分界面:   
  mysql> quit 
  Bye 
   
  
4、第一条命令(多条命令用 “,” 分隔
,一条命令可以分为多行输入,直到现身分号”;”截至 
   
  mysql> select version(),current_date(); 
  mysql>Select (20+5)*4; 
  mysql>Select (20+5)*4,sin(pi()/3); 
  mysql>Select (20+5)*4 AS Result,sin(pi(卡塔尔/3卡塔尔(قطر‎; (AS:
钦命假名称为ResultState of Qatar 

5、常用sql 语句 

1:使用SHOW语句搜索在服务器上脚下设有何样数据库: 
mysql> SHOW DATABASES; 
2:2、制造二个数据库MYSQLDATA 
mysql> Create DATABASE MYSQLDATA; 
3:采纳你所开创的数目库 
mysql> USE MYSQLDATA; (按回车键现身Database changed
时表达操作成功!卡塔尔(قطر‎ 
4:查看现在的数据库中设有啥样表 
mysql> SHOW TABLES; 
5:创立一个数据库表 
mysql> Create TABLE MYTABLE (name VARCHAR(20), sex CHAR(1)); 
6:显示表的布局: 
mysql> DESCRIBE MYTABLE; 
7:往表中步向记录 
mysql> insert into MYTABLE values (”hyq”,”M”); 
8:用文件格局将数据装入数据库表中(譬喻D:/mysql.txt) 
mysql> LOAD DATA LOCAL INFILE “D:/mysql.txt” INTO TABLE MYTABLE; 
9:导入.sql文件命令(譬如D:/mysql.sql) 
mysql>use database; 
mysql>source d:/mysql.sql; 
10:删除表 
mysql>drop TABLE MYTABLE; 
11:清空表 
mysql>delete from MYTABLE; 
12:更新表中数据 
mysql>update MYTABLE set sex=”f” where name=’hyq’; 
13:插入数据 
mysq>linsert into MYTABLE values (1, ‘第二章’, 0×2134545); 
14:登陆后使用数据库 mysql 
mysql -u root -p mysql 
mysql -u root -p -h 11.11.11.11 database 
15:mysql jdbc连接url 使用中文 
jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=gb2312 

[separator] 

其它: 
show processlist;列出每一笔联机的音讯。 
show variables;列出mysql的连串设定。 
show tables from db_name;列出db_name中持有数据表; 
show [full] columns from
table_name;列出table_name中完全消息,如栏名、类型,包含字符集编码。 
show index from table_name; 列出table_name中兼有的目录。 
show table status;;列出当前数据库中数据表的音讯。 
show table status from db_name;;列出当前db_name中数据表的音信。 
alter table table_name engine innodb|myisam|memory ;改革表类型 
explain table_name / describe table_name ;
列出table_name完整音信,如栏名、类型。 
show create table table_name 显示当前表的建表语句 
alter table table_name add primary key (picidState of Qatar ;
向表中加进七个主键 
alter table table_name add column userid int after picid
校勘表构造扩大一个新的字段 
alter table table_name character set gb2312 退换表的编码 
select user(卡塔尔国; 展现当前客户。 
select password(’root’卡塔尔国; 展现当前客商密码 
select now(卡塔尔国; 显示当今日子 
flush privileges 在不重启的事态下刷新顾客权限 
mysqld –default-character-set=gb2312 ;设置暗中同意字符集为gb2312 

6、安全 

刚安装好的MySql富含三个含空密码的root帐户和一个佚名帐户,那是非常的大的安全隐患,对于部分重中之重的施用大家应将安全性尽恐怕提升,在这里地应把无名氏帐户删除、
root帐户设置密码,可用如下命令实行: 

use mysql; 
delete from User where User=””; 
update User set Password=PASSWORD(’newpassword’) where User=’root’; 

改完重启 mysql 技艺生效. 

地点命令参数是常用参数的一有些,详细情况可参照他事他说加以调查文书档案。此处的mydb是要登陆的数据库的称号。 
在实行开采和事实上使用中,客户不应当只用root顾客张开一连数据库,固然应用root客商张开测量检验时很便利,但会给系统带给主要安全隐患,也不便于管理本事的进步。大家给一个应用中运用的客户付与最适用的数据库权限。如一个只进行数量插入的顾客不应授予其删除数据的权柄。MySql的顾客管理是因此User表来落到实处的,增加新用户常用的法子有五个,一是在User表插入相应的数目行,同一时候设置相应的权限;二是透过GRANT命令创制具备某种权力的客户。个中GRANT的常用用法如下: 

grant all on mydb.* to NewUserName@HostName identified by “password”

grant usage on *.* to NewUserName@HostName identified by
“password”; 
grant select,insert,update on mydb.* to NewUserName@HostName identified
by “password”; 
grant update,delete on mydb.TestTable to NewUserName@HostName identified
by “password”; 
grant all privileges on *.* to root@localhost 
grant select,insert,delete,update,alter,create,drop on lybbs.* to
NewUserName@”%” identified by “lybbs”; 

若要给此客商付与他在对应对象上的权位的保管能力,可在GRANT前边加多WITH
GRANT OPTION选项。而对此用插入User表加多的客户,Password字段应用PASSWO昂科雷D
函数实行更新加密,避防不轨之人窃看密码。对于那多少个曾经毫无的客户应予以消除,权限过界的顾客应登时回笼权限,回笼权限能够因此更新User表相应字段,也能够运用REVOKE操作。 

全局管理权限: 
FILE: 在MySQL服务器上读写文件。 
PROCESS: 呈现或杀死归属其他客商的劳务线程。 
RELOAD: 重载访谈调整表,刷新日志等。 
SHUTDOWN: 关闭MySQL服务。 
数据库/数据表/数据列权限: 
Alter: 更正已存在的数据表(举例扩展/删除列卡塔尔和目录。 
Create: 创立新的数据库或数据表。 
Delete: 删除表的记录。 
Drop: 删除数据表或数据库。 
INDEX: 营造或删除索引。 
Insert: 扩展表的笔录。 
Select: 展现/找出表的笔录。 
Update: 校正表中已存在的记录。 
专门的权力: 
ALL: 允许做别的事(和root相近卡塔尔。 
USAGE: 只允许登陆–别的什么也不许做。 

修正私下认可密码: 
cd d:mysqlbin 
mysqladmin -u root -p password 123456 
回车现身 
Enter password: ( 注:那是叫你输入原密码.
刚安装时密码为空,所以一向回车就可以卡塔尔国 
这个时候mysql 中账号 root 的密码 被改为 123456 安装收尾

一、引言 

  
想使用Linux已经十分长日子了,由于未有硬性职分一贯也未曾系统学习,目前出于工作亟待必需利用Linux下的MySQL。本以为有Windows下使用SQL
Server的经验,认为在Linux下安装MySql应该是轻而易举的事,可在真的安装和利用MySQL时走了累累弯路,遇见比比较多主题材料,终究Linux和Windows本人就有一点都不小分裂。为了让和自家同一的初读书人在读书的经过中少走弯路,尽快入门,写了此文,希望对你具备利于。本文的Linux遇到是Red
Hat 9.0,MySQL是4.0.16。 

   二、安装Mysql 

   1、下载MySQL的安装文件 
   安装MySQL要求上面七个文件: 
   MySQL-server-4.0.16-0.i386.rpm    
   MySQL-client-4.0.16-0.i386.rpm 
   下载地址为:
展开此网页,下拉网页找到“Linux x86 RPM
downloads”项,找到“Server”和“Client
programs”项,下载供给的上述八个rpm文件。 

   2、安装MySQL 
   rpm文件是Red
Hat集团开垦的软件安装包,rpm可让Linux在装置软件包时免除大多繁缛的步调。该命令在安装时常用的参数是
–ivh
,个中i表示将设置钦点的rmp软件包,V表示安装时的详细新闻,h表示在设置时期现身“#”符号来展现近些日子的装置进度。这一个标识将不唯有到安装完结后才止住。 
   1)安装服务器端 
   在有八个rmp文件的目录下运转如下命令: 
   [root@test1 local]# rpm -ivh MySQL-server-4.0.16-0.i386.rpm 
   展现如下音信。 
    warning: MySQL-server-4.0.16-0.i386.rpm: V3 DSA signature: NOKEY,
key ID 5072e1f5 
  
Preparing…       ###########################################
[100%] 
  
1:MySQL-server     ###########################################
[100%] 
    。。。。。。(省略展现) 
   /usr/bin/mysqladmin -u root password ‘new-password’ 
   /usr/bin/mysqladmin -u root -h test1 password ‘new-password’ 
    。。。。。。(省略展现) 
   Starting mysqld daemon with databases from /var/lib/mysql 
  
如现身如上新闻,服务端安装收尾。测量试验是不是中标可运转netstat看Mysql端口是还是不是张开,如展开表示服务已经运转,安装成功。Mysql暗中同意的端口是3306。 
   [root@test1 local]# netstat -nat 
   Active Internet connections (servers and established) 
   Proto Recv-Q Send-Q Local Address      Foreign Address    
State    
   tcp  0  0 0.0.0.0:3306     0.0.0.0:*     
LISTEN    
   上面突显能够见到MySQL服务一度起步。 
   2)安装顾客端 
   运转如下命令: 
   [root@test1 local]# rpm -ivh MySQL-client-4.0.16-0.i386.rpm 
   warning: MySQL-client-4.0.16-0.i386.rpm: V3 DSA signature: NOKEY,
key ID 5072e1f5 
  
Preparing…    ###########################################
[100%] 
   1:MySQL-client 
###########################################
[100%] 
   展现安装收尾。 
   用上边的吩咐连接mysql,测量检验是还是不是成功。 
  三、登录MySQL 

   登入MySQL的命令是mysql, mysql 的选拔语法如下: 
   mysql [-u username] [-h host] [-p[password]]
[dbname] 
   username 与 password 分别是 MySQL
的客商名与密码,mysql的发端管理帐号是root,未有密码,注意:这一个root客户不是Linux的系统客商。MySQL暗许顾客是root,由于带头未有密码,第二回进时只需键入mysql即可。 
   [root@test1 local]# mysql 
   Welcome to the MySQL monitor. Commands end with ; or g. 
   Your MySQL connection id is 1 to server version:
4.0.16-standard 
   Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the
buffer. 
   mysql> 
   现身了“mysql>”提醒符,恭喜你,安装成功! 
   扩展了密码后的记名格式如下: 
   mysql -u root -p 
   Enter password: (输入密码State of Qatar 
  
在那之中-u后跟的是客户名,-p必要输入密码,回车后在输入密码处输入密码。 

  
注意:这一个mysql文件在/usr/bin目录下,与后边讲的运转文件/etc/init.d/mysql不是三个文书。 

   四、MySQL的多少个举足轻重目录 

   MySQL安装达成后不象SQL
Server默许安装在一个索引,它的数据库文件、配置文件和下令文件分别在不相同的目录,精通这一个目录至关重要,特别对于Linux的初读书人,因为Linux自个儿的目录结构就比较复杂,要是搞不清楚MySQL的装置目录那就无法说起深切学习。 

   下边就介绍一下那个目录。 

   1、数据库目录 
   /var/lib/mysql/ 

   2、配置文件 
   /usr/share/mysql(mysql.server命令及布署文件) 

   3、相关命令 
   /usr/bin(mysqladmin mysqldump等命令) 

   4、运转脚本 
   /etc/rc.d/init.d/(运营脚本文件mysql的目录) 
  五、校订登陆密码 

   MySQL私下认可未有密码,安装收尾扩展密码的关键是总的来说的。 

   1、命令 
   usr/bin/mysqladmin -u root password ‘new-password’ 
   格式:mysqladmin -u用户名 -p旧密码 password 新密码 

   2、例子 
   例1:给root加个密码123456。 
   键入以下命令 : 
   [root@test1 local]# /usr/bin/mysqladmin -u root password
123456 
   注:因为起初时root未有密码,所以-p旧密码一项就足以省略了。 

   3、测量检验是还是不是改革成功 
   1)不用密码登陆 
   [root@test1 local]# mysql 
   ERROR 1045: Access denied for user: ‘root@localhost’ (Using
password: NO) 
   展现错误,表明密码已经校正。 
   2)用校正后的密码登入 
   [root@test1 local]# mysql -u root -p 
   Enter password: (输入修正后的密码123456卡塔尔 
   Welcome to the MySQL monitor. Commands end with ; or g. 
   Your MySQL connection id is 4 to server version:
4.0.16-standard 
   Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the
buffer. 
   mysql> 
   成功! 
   那是经过mysqladmin命令改良口令,也可经过改进库来修正口令。 

   六、运转与停止 

   1、启动 
  
MySQL安装到位后运转文件mysql在/etc/init.d目录下,在须求运行时运维上面三令五申就能够。 
   [root@test1 init.d]# /etc/init.d/mysql start 

   2、停止 
   /usr/bin/mysqladmin -u root -p shutdown 

   3、自动运维 
   1)察看mysql是或不是在活动运行列表中 
   [root@test1 local]# /sbin/chkconfig –list 
   2)把MySQL增多到你系统的起步服务组里面去 
   [root@test1 local]# /sbin/chkconfig – add mysql 
   3)把MySQL从起步服务组里面删除。 
   [root@test1 local]# /sbin/chkconfig – del mysql 
七、更改MySQL目录 

  
MySQL默许的数据文件存款和储蓄目录为/var/lib/mysql。假诺要把目录移到/home/data下须求打开上面几步: 

   1、home目录下树立data目录 
   cd /home 
   mkdir data 

   2、把MySQL服务进度停掉: 
   mysqladmin -u root -p shutdown 

   3、把/var/lib/mysql整个目录移到/home/data 
   mv /var/lib/mysql /home/data/ 
   那样就把MySQL的数据文件移动到了/home/data/mysql下 

   4、找到my.cnf配置文件 
  
如果/etc/目录下并没有my.cnf配置文件,请到/usr/share/mysql/下找到*.cnf文件,拷贝在那之中一个到/etc/并更名称为my.cnf卡塔尔国中。命令如下: 
   [root@test1 mysql]# cp
/usr/share/mysql/my-medium.cnf /etc/my.cnf 

   5、编辑MySQL的布置文件/etc/my.cnf 
   为保障MySQL能够平常职业,供给指明mysql.sock文件的发生地点。
改进socket=/var/lib/mysql/mysql.sock一行中等号左侧的值为:/home/mysql/mysql.sock
。操作如下: 
   vi  my.cnf    (用vi工具编辑my.cnf文件,找到下列数据修正之卡塔尔(قطر‎ 
   # The MySQL server 
    [mysqld] 
    port   = 3306 
    #socket  =
/var/lib/mysql/mysql.sock(原内容,为了更妥当用“#”注释此行) 
    socket  = /home/data/mysql/mysql.sock   (加上此行) 

   6、矫正MySQL运行脚本/etc/rc.d/init.d/mysql 
  
最后,必要订正MySQL运营脚本/etc/rc.d/init.d/mysql,把当中datadir=/var/lib/mysql一行中,等号右侧的路子改成你将来的骨子里寄存路线:home/data/mysql。 
   [root@test1 etc]# vi /etc/rc.d/init.d/mysql 
   #datadir=/var/lib/mysql    (注释此行) 
   datadir=/home/data/mysql   (加上此行) 

   7、重新开动MySQL服务 
   /etc/rc.d/init.d/mysql start 
   或用reboot命令重启Linux 
   若是职业例行活动就成功了,不然对照前边的7步再检查一下。 

   八、MySQL的常用操作 

   注意:MySQL中种种命令后都要以分号;结尾。 

   1、展现数据库 
   mysql> show databases; 
   +———-+ 
   | Database | 
   +———-+ 
   | mysql  | 
   | test   | 
   +———-+ 
   2 rows in set (0.04 sec) 
  
Mysql刚安装完有五个数据库:mysql和test。mysql库极度主要,它里面有MySQL的系统音讯,我们改密码和新扩展顾客,实际上正是用这么些库中的相关表举办操作。 

   2、呈现数据库中的表 
   mysql> use mysql;
(展开库,对种种库开展操作就要伸开此库,近似于foxpro ) 
   Database changed 

   mysql> show tables; 
   +—————–+ 
   | Tables_in_mysql | 
   +—————–+ 
   | columns_priv  | 
   | db       | 
   | func      | 
   | host      | 
   | tables_priv   | 
   | user      | 
   +—————–+ 
   6 rows in set (0.01 sec) 

   3、显示数据表的协会: 
   describe 表名; 

   4、展现表中的笔录: 
   select * from 表名; 
  
譬如:显示mysql库中user表中的纪录。全部能对MySQL顾客操作的客商都在这里表中。 
   Select * from user; 

   5、建库: 
   create database 库名; 
   举例:创立三个名字位aaa的库 
   mysql> create databases aaa; 
6、建表: 
   use 库名; 
   create table 表名 (字段设定列表卡塔尔国; 
  
比如:在刚成立的aaa库中确立表name,表中有id(序号,自动增加卡塔尔,xm(姓名),xb(性别),csny(出身年月)八个字段 
   use aaa; 
   mysql> create table name (id int(3) auto_increment not null
primary key, xm char(8),xb char(2),csny date); 
   能够用describe命令察看刚创设的表结构。 
   mysql> describe name; 

   +——-+———+——+—–+———+—————-+ 
   | Field | Type  | Null | Key | Default | Extra     | 
   +——-+———+——+—–+———+—————-+ 
   | id  | int(3) |   | PRI | NULL  | auto_increment | 
   | xm  | char(8) | YES |   | NULL  |        | 
   | xb  | char(2) | YES |   | NULL  |        | 
   | csny | date  | YES |   | NULL  |        | 
   +——-+———+——+—–+———+—————-+ 

   7、扩张记录 
   举个例子:扩展几条有关记录。 
   mysql> insert into name
values(”,’张三’,’男’,’1971-10-01′); 
   mysql> insert into name
values(”,’白云’,’女’,’1972-05-20′); 
   可用select命令来表达结果。 
   mysql> select * from name; 
   +—-+——+——+————+ 
   | id | xm  | xb  | csny    | 
   +—-+——+——+————+ 
   | 1 | 张三 | 男  | 1971-10-01 | 
   | 2 | 白云 | 女  | 1972-05-20 | 
   +—-+——+——+————+ 

   8、改善纪录 
   举例:将张三的出生年月改为1975-01-10 
   mysql> update name set csny=’1971-01-10′ where xm=’张三’; 

   9、删除纪录 
   比方:删除张三的纪要。 
   mysql> delete from name where xm=’张三’; 

   10、删库和删表 
   drop database 库名; 
   drop table 表名; 

   九、增加MySQL用户 

   格式:grant select on 数据库.* to 顾客名@登录主机 identified by
“密码” 
例1、扩大一个用户user_1密码为123,让她能够在别的主机上登陆,并对负有数据库有询问、插入、改过、删除的权力。首先用以root客户连入MySQL,然后键入以下命令:

   mysql> grant select,insert,update,delete on *.* to user_1@”%”
Identified by “123”; 
例1扩大的客商是老大朝不虑夕的,假诺理解了user_1的密码,那么她就足以在互连网的别样一台Computer上登入你的MySQL数据库并对你的数目胆大妄为了,杀绝办法见例2。 

  
例2、增添叁个客商user_2密码为123,让此顾客只能在localhost上登入,并得以对数据库aaa实行询问、插入、改正、删除的操作(localhost指本地主机,即MySQL数据库所在的那台主机),这样顾客即接纳知道user_2的密码,他也无从从网络直接访谈数据库,只好通过MYSQL主机来操作aaa库。 

   mysql>grant select,insert,update,delete on aaa.* to
user_2@localhost identified by “123”; 

   用新添的客户若是登陆不了MySQL,在签届期用如下命令: 

   mysql -u user_1 -p -h
192.168.113.50 (-h后跟的是要登陆主机的ip地址) 

   十、备份与回复 

   1、备份 

   比如:将上例创造的aaa库备份到文件back_aaa中 

   [root@test1 root]#
cd /home/data/mysql (步向到库目录,本例库已由val/lib/mysql转到/home/data/mysql,见上述第七有个别内容State of Qatar 
   [root@test1 mysql]# mysqldump -u root -p –opt aaa >
back_aaa 

   2、恢复 

   [root@test mysql]# mysql -u root -p ccc < back_aaa

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图