`
Javahuhui
  • 浏览: 80550 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

mysql常用命令

阅读更多

一、导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径):

1、导出数据和表结构:
mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql
#/usr/local/mysql/bin/   mysqldump -uroot -p abc > abc.sql
敲回车后会提示输入密码

2、只导出表结构
mysqldump -u用户名 -p密码 -d 数据库名 > 数据库名.sql
#/usr/local/mysql/bin/   mysqldump -uroot -p -d abc > abc.sql

注:/usr/local/mysql/bin/  --->  mysql的data目录

 

补充:

1、导出數據库為dbname的表结构(其中用戶名為root,密码為dbpasswd,生成的脚本名為db.sql)
    mysqldump -uroot -pdbpasswd -d dbname >db.sql;

    2、导出數據库為dbname某张表(test)结构
    mysqldump -uroot -pdbpasswd -d dbname test>db.sql;

    3、导出數據库為dbname所有表结构及表數據(不加-d)
    mysqldump -uroot -pdbpasswd  dbname >db.sql;

    4、导出數據库為dbname某张表(test)结构及表數據(不加-d)
    mysqldump -uroot -pdbpasswd dbname test>db.sql;


二、导入数据库
1、首先建空数据库
mysql>create database abc;

2、导入数据库
方法一:
(1)选择数据库
mysql>use abc;
(2)设置数据库编码
mysql>set names utf8;
(3)导入数据(注意sql文件的路径)
mysql>source /home/abc/abc.sql;
方法二:
mysql -u用户名 -p密码 数据库名 < 数据库名.sql
#mysql -uabc_f -p abc < abc.sql

 

DROP DATABASE t1;  删除数据库

SHOW DATABASES;   显示数据库

USE db1;  使用指定数据库

DROP TABLE t1;  删除表

 

创建数据库

CREATE DATABASE db1 /*!40100 COLLATE 'utf8_general_ci' */;

 

创建表

CREATE TABLE t1 (

`ID` INT NOT NULL AUTO_INCREMENT,

`Name` VARCHAR(50) NULL,

PRIMARY KEY (`ID`)

)

COLLATE='utf8_general_ci'

ENGINE=InnoDB

 

;

 

新增表字段

ALTER TABLE t1 ADD COLUMN `Age` INT NULL DEFAULT NULL;

删除表字段

ALTER TABLE t1 DROP COLUMN `Age`;

 

创建视图

DROP view IF EXISTS v1; 

create view v1

as

select t1.id,t1.name,t2.id from t1

left join t2 on t2.id=t1.id;

 

补充2:

数据库创建用户及授权

创建用户:

命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 
说明:username - 你将创建的用户名, host - 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如果想让该用户可以从任意远程主机登陆,可以使用通配符%. password - 该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器. 

 

授权:

命令:GRANT privileges ON databasename.tablename TO 'username'@'host' 
说明: privileges - 用户的操作权限,如SELECT , INSERT , UPDATE 等(详细列表见该文最后面).如果要授予所的权限则使用ALL.;databasename - 数据库名,tablename-表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示, 如*.*. 

注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令: 
GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION; 

 

设置、更改用户密码:

命令:SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');如果是当前登陆用户用SET PASSWORD = PASSWORD("newpassword"); 

 

撤销用户权限:

命令: REVOKE privilege ON databasename.tablename FROM 'username'@'host'; 
说明: privilege, databasename, tablename - 同授权部分. 

注意: 假如你在给用户'pig'@'%'授权的时候是这样的(或类似的):GRANT SELECT ON test.user TO 'pig'@'%', 则在使用REVOKE SELECT ON *.* FROM 'pig'@'%';命令并不能撤销该用户对test数据库中user表的SELECT 操作.相反,如果授权使用的是GRANT SELECT ON *.* TO 'pig'@'%';则REVOKE SELECT ON test.user FROM 'pig'@'%';命令也不能撤销该用户对test数据库中user表的Select 权限. 
具体信息可以用命令SHOW GRANTS FOR 'pig'@'%'; 查看. 

 

删除用户:

命令: DROP USER 'username'@'host';

 

附表:用户在MySQL中的操作权限

ALTER Allows use of ALTER TABLE.
ALTER ROUTINE Alters or drops stored routines.
CREATE Allows use of CREATE TABLE.
CREATE ROUTINE Creates stored routines.
CREATE TEMPORARY TABLE Allows use of CREATE TEMPORARY TABLE.
CREATE USER Allows use of CREATE USERDROP USERRENAME USER, and REVOKE ALL PRIVILEGES.
CREATE VIEW Allows use of CREATE VIEW.
DELETE Allows use of DELETE.
DROP Allows use of DROP TABLE.
EXECUTE Allows the user to run stored routines.
FILE Allows use of SELECT..INTO OUTFILE and LOAD DATA INFILE.
INDEX Allows use of CREATE INDEX and DROP INDEX.
INSERT Allows use of INSERT.
LOCK TABLES Allows use of LOCK TABLES on tables for which the user also has SELECT privileges.
PROCESS Allows use of SHOW FULL PROCESSLIST.
RELOAD Allows use of FLUSH.
REPLICATION Allows the user to ask where slave or master
CLIENT servers are.
REPLICATION SLAVE Needed for replication slaves.
SELECT Allows use of SELECT.
SHOW DATABASES Allows use of SHOW DATABASES.
SHOW VIEW Allows use of SHOW CREATE VIEW.
SHUTDOWN Allows use of mysqladmin shutdown.
SUPER Allows use of CHANGE MASTERKILLPURGE MASTER LOGS, and SET GLOBAL SQL statements. Allows mysqladmin debug command. Allows one extra connection to be made if maximum connections are reached.
UPDATE Allows use of UPDATE.
USAGE Allows connection without any specific privileges.

 

 

MySQL表碎片整理

OPTIMIZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE table_name1 [, table_name2] ...

注意:

1.MySQL官方建议不要经常(每小时或每天)进行碎片整理,一般根据实际情况,只需要每周或者每月整理一次即可。

2.OPTIMIZE TABLE只对MyISAM,BDB和InnoDB表起作用,尤其是MyISAM表的作用最为明显。此外,并不是所有表都需要进行碎片整理,一般只需要对包含上述可变长度的文本数据类型的表进行整理即可。

3.在OPTIMIZE TABLE运行过程中,MySQL会锁定表。

4.默认情况下,直接对InnoDB引擎的数据表使用OPTIMIZE TABLE,可能会显示「 Table does not support optimize, doing recreate + analyze instead」的提示信息。这个时候,我们可以用mysqld --skip-new或者mysqld --safe-mode命令来重启MySQL,以便于让其他引擎支持OPTIMIZE TABLE。

 

分享到:
评论

相关推荐

    MYSQL常用命令教程

    ### MySQL常用命令详解 在IT领域,MySQL作为一款广泛使用的开源关系型数据库管理系统,其重要性不言而喻。无论是初学者还是资深开发者,掌握MySQL的常用命令都是必不可少的技能。以下将对“MYSQL常用命令教程”中的...

    MySQL常用命令(非常全面的命令大全)

    ### MySQL常用命令详解 #### 一、连接与断开MySQL **命令格式:** ``` mysql -h [主机地址] -u [用户名] -p [密码] ``` **示例:** 1. **本地连接MySQL服务:** ```bash mysql -uroot -p ``` 输入此命令后,...

    MySql常用命令 最新 最全

    根据提供的标题、描述以及部分内容,本文将详细解析MySQL数据库中的常用命令,并且涵盖数据库的创建、管理、查询、更新等核心操作。 ### MySQL 常用命令概览 #### 启动与停止 MySQL 服务 - **启动 MySQL 服务**: ...

    MySQL常用命令汇总.rar

    以上仅是MySQL常用命令的一部分,实际操作中还有更多高级功能,如视图、存储过程、触发器、索引、事务处理等。通过深入学习和实践,你可以更高效地管理和维护MySQL数据库。在“MySQL常用命令汇总.pdf”文件中,应有...

    MySQL常用命令 MySQL常用命令

    MySQL 常用命令 MySQL 是一个流行的开源关系数据库管理系统,它提供了许多实用的命令来管理和维护数据库。在本资源中,我们将总结一些常用的 MySQL 命令,涵盖数据库创建、用户管理、数据备份和恢复、查询执行等...

    MySQL常用命令总结.txt

    MySQL常用命令总结 MySQL常用命令总结

    mysql常用命令总结

    ### MySQL常用命令总结 本文将基于提供的部分内容对MySQL的基本操作命令进行详细解析,这些命令涵盖了数据库及表的基本管理,如创建、查询、更新等。掌握这些命令有助于更好地管理和操作MySQL数据库。 #### 一、...

    MYSQL常用命令详细介绍

    ### MySQL常用命令详解 #### 启动MySQL服务器 在启动MySQL服务器方面,有两种常见的方法: 1. **使用winmysqladmin工具**:这是一个图形化的工具,适用于Windows系统。如果你的计算机在启动时已经设置了自动运行...

    mysql常用命令集锦--初级DBA

    MySQL常用命令集锦--初级DBA MySQL是当前最流行的开源关系数据库管理系统,本文将总结一些常用的MySQL命令,适合初级DBA学习和工作。 一、MySQL服务的启动和停止 MySQL服务的启动和停止命令如下: * ...

    MySQL常用命令视频教程及笔记

    MySQL是世界上最受欢迎的关系型...通过学习这些MySQL常用命令,你可以对数据库进行基本的创建、查询、修改和删除操作,同时了解如何更高效地管理和维护数据库。在实际工作中,熟练掌握这些命令能够极大地提升工作效率。

    MySQL常用命令.doc

    以下是一些关于MySQL常用命令的详细说明: 1. **创建和管理数据库**: - `create database name;` 用于创建一个新的数据库,name是数据库的名称。 - `use databasename;` 用于切换到指定的数据库。 - `drop ...

    MySQL常用命令---创建数据库创建表.pdf

    MySQL常用命令---创建数据库创建表 MySQL是最流行的开源关系型数据库管理系统,广泛应用于Web应用开发、企业数据存储、数据分析等领域。作为一名IT从业者,熟悉MySQL常用命令是必不可少的技能之一。本文档将详细...

    MySQL常用命令大全

    ### MySQL常用命令详解 在IT领域,特别是数据库管理与开发工作中,熟练掌握SQL语言和具体的数据库管理系统(如MySQL)的命令至关重要。以下是对标题“MySQL常用命令大全”及其描述“MySQL常用命令,帮助你快速掌握...

    MySQL常用命令速查手册

    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational ...此文件是MySQL常用命令速查手册

    MySQL常用命令大全.docx

    MySQL 常用命令大全 本文档旨在总结 MySQL 的常用命令,旨在帮助开发者快速掌握 MySQL 的基本操作命令。下面将详细介绍 MySQL 的基本命令,包括启动 MySQL、数据库操作、表操作、数据操作等方面。 一、命令行指令 ...

    MySQL 常用命令总结

    ### MySQL常用命令精要解析 #### 一、MySQL基础命令概览 MySQL是全球最流行的开源关系型数据库管理系统之一,其高效稳定、功能全面而深受广大开发者喜爱。掌握MySQL的基本命令是进行数据库管理与开发的基础。 ###...

    MySQL常用命令大全脚本之家总结

    以下是对标题和描述中提到的一些MySQL常用命令的详细解释: 1. **导出数据库和表** - `mysqldump` 是用于备份和导出数据库或表的数据及结构的工具。 - **导出整个数据库**:`mysqldump -u 用户名 -p --default-...

Global site tag (gtag.js) - Google Analytics