linux mysql操作命令
對(duì)于剛接觸linux的初學(xué)者來說,掌握命令是進(jìn)步最快的方法。下面由學(xué)習(xí)啦小編為大家整理了linux mysql操作命令,希望大家喜歡!
一、linux mysql操作命令
1.linux下啟動(dòng)mysql的命令:
mysqladmin start
/ect/init.d/mysql start (前面為mysql的安裝路徑)
2.linux下重啟mysql的命令:
mysqladmin restart
/ect/init.d/mysql restart (前面為mysql的安裝路徑)
3.linux下關(guān)閉mysql的命令:
mysqladmin shutdown
/ect/init.d/mysql shutdown (前面為mysql的安裝路徑)
4.連接本機(jī)上的mysql:
進(jìn)入目錄mysql\bin,再鍵入命令mysql -uroot -p, 回車后提示輸入密碼。
退出mysql命令:exit(回車)
5.修改mysql密碼:
mysqladmin -u用戶名 -p舊密碼 password 新密碼
或進(jìn)入mysql命令行SET PASSWORD FOR root=PASSWORD("root");
6.增加新用戶(注意:mysql環(huán)境中的命令后面都帶一個(gè)分號(hào)作為命令結(jié)束符)
grant select on 數(shù)據(jù)庫.* to 用戶名@登錄主機(jī) identified by "密碼"
如增加一個(gè)用戶test密碼為123,讓他可以在任何主機(jī)上登錄, 并對(duì)所有數(shù)據(jù)庫有查詢、插入、修改、刪除的權(quán)限。首先用以root用戶連入mysql,然后鍵入以下命令:
grant select,insert,update,delete on *.* to " Identified by "123";
二、有關(guān)mysql數(shù)據(jù)庫方面的操作
必須首先登錄到mysql中,有關(guān)操作都是在mysql的提示符下進(jìn)行,而且每個(gè)命令以分號(hào)結(jié)束
1、顯示數(shù)據(jù)庫列表。
show databases;
2、顯示庫中的數(shù)據(jù)表:
use mysql; //打開庫
show tables;
3、顯示數(shù)據(jù)表的結(jié)構(gòu):
describe 表名;
4、建庫:
create database 庫名;
GBK: create database test2 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
UTF8: CREATE DATABASE `test2` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
5、建表:
use 庫名;
create table 表名(字段設(shè)定列表);
6、刪庫和刪表:
drop database 庫名;
drop table 表名;
7、將表中記錄清空:
delete from 表名;
truncate table 表名;
8、顯示表中的記錄:
select * from 表名;
9、編碼的修改
如果要改變整個(gè)mysql的編碼格式:
啟動(dòng)mysql的時(shí)候,mysqld_safe命令行加入
--default-character-set=gbk
如果要改變某個(gè)庫的編碼格式:在mysql提示符后輸入命令
alter database db_name default character set gbk;
10.重命名表
alter table t1 rename t2;
11.查看sql語句的效率
explain < table_name >
例如:explain select * from t3 where id=3952602;
12.用文本方式將數(shù)據(jù)裝入數(shù)據(jù)庫表中(例如D:/mysql.txt)
mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE;
三、數(shù)據(jù)的導(dǎo)入導(dǎo)出
1、文本數(shù)據(jù)轉(zhuǎn)到數(shù)據(jù)庫中
文本數(shù)據(jù)應(yīng)符合的格式:字段數(shù)據(jù)之間用tab鍵隔開,null值用來代替。例:
1 name duty 2006-11-23
數(shù)據(jù)傳入命令 load data local infile "文件名" into table 表名;
2、導(dǎo)出數(shù)據(jù)庫和表
mysqldump --opt news > news.sql(將數(shù)據(jù)庫news中的所有表備份到news.sql文件,news.sql是一個(gè)文本文件,文件名任取。)
mysqldump --opt news author article > author.article.sql(將數(shù)據(jù)庫news中的author表和article表備份到author.article.sql文件, author.article.sql是一個(gè)文本文件,文件名任取。)
mysqldump --databases db1 db2 > news.sql(將數(shù)據(jù)庫dbl和db2備份到news.sql文件,news.sql是一個(gè)文本文件,文件名任取。)
mysqldump -h host -u user -p pass --databases dbname > file.dump
就是把host上的以名字user,口令pass的數(shù)據(jù)庫dbname導(dǎo)入到文件file.dump中
mysqldump --all-databases > all-databases.sql(將所有數(shù)據(jù)庫備份到all-databases.sql文件,all-databases.sql是一個(gè)文本文件,文件名任取。)
3、導(dǎo)入數(shù)據(jù)
mysql < all-databases.sql(導(dǎo)入數(shù)據(jù)庫)
mysql>source news.sql;(在mysql命令下執(zhí)行,可導(dǎo)入表)