數(shù)據(jù)庫運維技能篇:MySQL常用必備命令詳解
這篇文章主要介紹了MySQL的常用命令集錦,堪稱初學者需要掌握的MySQL命令大全,其中系統(tǒng)命令行環(huán)境是基于類Unix系統(tǒng)來作例子的,需要的朋友可以參考下。
mysql常用命令(必備)
1.導出test_db數(shù)據(jù)庫
命令:mysqldump -u 用戶名 -p 數(shù)據(jù)庫名 > 導出的文件名
- mysqldump -u root -p test_db > test_db.sql
1.1)導出所有數(shù)據(jù)庫
- mysqldump -u root -p –all-databases > mysql_all.sql
2.導出一個表
命令:mysqldump -u 用戶名 -p 數(shù)據(jù)庫名 表名> 導出的文件名
- mysqldump -u root -p test_db test1 > test_test1.sql
3.導出一個數(shù)據(jù)庫結構
- mysqldump -u root -p -d --add-drop-table test_db > test.sql
-d 沒有數(shù)據(jù) --add-drop-table 在每個create語句之前增加一個drop table
4.導入數(shù)據(jù)庫
①常用source命令
進入mysql數(shù)據(jù)庫控制臺,
如
- mysql -u root -p
然后使用source命令,后面參數(shù)為腳本文件(如這里用到的.sql)
- mysql>source wcnc_db.sql
②使用mysqldump命令
- mysqldump -u username -p dbname < filename.sql
③使用mysql命令
- mysql -u username -p -D dbname < filename.sql
5.mysql進入與退出
進入:
- mysql -uroot -p //進入mysql控制臺
- mysql -uroot -p password //進入mysql控制臺
- mysql -p //進入mysql控制臺
退出:
quit或exit
6.數(shù)據(jù)庫操作
1)、創(chuàng)建數(shù)據(jù)庫
命令:create database <數(shù)據(jù)庫名>
例如:建立一個名為test_db的數(shù)據(jù)庫
- mysql> create database test_db;
2)、顯示所有的數(shù)據(jù)庫
命令:show databases (注意:***有個s)
- mysql> show databases;
3)、刪除數(shù)據(jù)庫
命令:drop database <數(shù)據(jù)庫名>
例如:刪除名為 test_db的數(shù)據(jù)庫
- mysql> drop database test_db;
4)、連接數(shù)據(jù)庫
命令: use <數(shù)據(jù)庫名>
例如:進入test_db數(shù)據(jù)庫
- mysql> use test_db;
屏幕提示:Database changed
5)、查看當前使用的數(shù)據(jù)庫
- mysql> select database();
6)、當前數(shù)據(jù)庫包含的表信息
mysql> show tables; (注意:***有個s)
7)、查看數(shù)據(jù)庫字符集
- mysql> show variables like '%char%';
7.表操作,操作之前應連接某個數(shù)據(jù)庫
1)、建表
命令:create table <表名> ( <字段名1> <類型1> [,..<字段名n> <類型n>]);
例如:創(chuàng)建名為test01表,并創(chuàng)建兩個字段,id、name、數(shù)據(jù)長度(用字符來定義長度單位)
- mysql> create table test01 (id varchar(20),name varchar(20));
2)、查看表結構
命令:desc 表名,或者show columns from 表名
例如:查看test表結構
- mysql> desc test;
- mysql> show columns from test;
- mysql> describe test;
- mysql> show create table test;
3)、刪除表
命令:drop table <表名>
例如:刪除表名為test_db的表
- mysql> drop table test_db;
4)、插入數(shù)據(jù)
命令:insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )]
例如:往表test中插入二條記錄, 這二條記錄表示:編號為001,名字為yangxz
- mysql> insert into test values ("001″,"yangxz");
5)、查詢表中的數(shù)據(jù)
(1)查詢所有行
命令: select <字段1,字段2,…> from < 表名 > where < 表達式 >
例如:查看表test中所有內(nèi)容(數(shù)據(jù))
- mysql> select * from test;
例如:查找test表中id=001內(nèi)容
- mysql > select * from test where id=001;
例如:查找test表中已id為0開頭的內(nèi)容
- mysql > select * from test where id like "0%";
(2)查詢前幾行數(shù)據(jù)
例如:查看表test中前2行數(shù)據(jù)
- mysql> select * from test order by id limit 0,2;
或者:
- mysql> select * from test limit 0,2;
6)、刪除表中數(shù)據(jù)
命令:delete from 表名 where 表達式
例如:刪除表test中編號為001的記錄
- mysql> delete from test where id=001;
7)、修改表中數(shù)據(jù)
命令:update 表名 set 字段=新值,… where 條件
例如: 修改test表中name字段的內(nèi)容
- mysql> update test set name='admin' where id=002;
例如:修改test表中name字段的長度
- mysql> alter table test modify column name varchar(30);
8)、在表中增加字段
命令:alter table 表名 add字段 類型 其他;
例如:在表test中添加了一個字段passtest,類型為int(4),默認值為0
- mysql> alter table test add passtest int(4) default '0';
9)、更改表名:
命令:rename table 原表名 to 新表名;
例如:在表test名字更改為test1
- mysql> rename table test to test1;
8.修改密碼
mysqladmin -uroot -p舊密碼 password 新密碼
- mysql> use mysql;
- mysql> update mysql.user set password='新密碼' where user='用戶名';
- mysql> flush privileges;
- mysql> set password for 用戶名@localhost=password('你的密碼');
- mysql> flush privileges;
9.增加用戶
例如:增加一個test用戶,密碼為1234
- mysql> insert into mysql.user(Host,User,Password) values("localhost","test",password("1234"));
- mysql> flush privileges;
10.刪除用戶
例如:刪除test用戶
- mysql> delete from user where user='test' and host='localhost';
- mysql> flush privileges;
11.數(shù)據(jù)庫授權
命令:grant 權限 on 數(shù)據(jù)庫名.* to 用戶名@localhost identified by '密碼';
例如:授權test用戶擁有test_db庫的所有權限
- grant all on test_db.* to test@localhost identified by '123456';
例如:授權test用戶擁有test_db庫的select,update權限
- grant select,update on test_db.* to test@localhost;
12.鎖表
- mysql> flush tables with read lock;
解鎖:
- mysql> unlock tables;
13.查看當前用戶
- mysql > select user();
14.MYSQL密碼破解方法
先停止Mysql服務,以跳過權限方式啟動,命令如下:
- service mysqld stop
- /usr/local/mysql/bin/mysqld_safe –user=mysql –skip-grant-tables &
在shell終端輸入mysql并按Enter鍵,進入mysql命令行
由于MYSQL用戶及密碼認證信息存放在mysql庫中的user表,需進入mysql庫
- mysql> use mysql;
- mysql> update user set password=password('123456') where user='root';
- mysql> flush privileges;
MYSQL root密碼修改完,需停止以Mysql跳過權限表的啟動進程,再以正常方式啟動MYSQL,再次以新的密碼登陸即可進入Mysql數(shù)據(jù)庫
15.查看Mysql提供存儲引擎
- mysql > show engines;
查看mysql默認存儲引擎
- mysql> show variables like '%storage_engine%';
查看mysql系統(tǒng)版本
- mysql> select version();
查看mysql庫里所有表
- mysql>show tables from mysql;
查看Mysql端口
- mysql>show variables like 'port';
查看mysql庫user表中user,host信息
- mysql> select user,host from mysql.user;