【it168 伺服器學院】.連線伺服器 mysql -u cnscn
-h 192.168.0.1
[-d dbname]
[-p 3306]
[--protocol=name] the protocol of connection (tcp,socket,pipe,memory)
[-s, --socket=name] 連線所用的套接字檔案
[--character-sets-dir=name] 字符集所位於的目錄
[--default-character-set=name] 預設的字符集
[-e, --vertical] 垂直地打列出查詢輸出
.建立資料庫 mysql>create database dbname;
.顯示資料庫列表 mysql>show databases;
.顯示資料表列表 mysql>show tables;
.檢視mysql設定引數 $mysqladmin -u root -p variables;
.開啟伺服器 $/etc/rc.d/init.d/mysqld start
或$mysqld_safe --user=mysql &
$/etc/rc.d/init.d/mysqld stop
或$mysqladmin shutdown -u root -p
.優化表 mysql>optimize table tbla,tblb;
或 [進行優化並檢查修復任務]
$mysqlcheck -o dbname tbla tblb tblc -u root -p
.對錶進行分析 mysql>analyze table tbla;
或$mysqlcheck -a dbname [tbla tblb tblc ] -u root -p
.對錶進行檢查 mysql>check table tbla,tblb,tblc;
.賦權 mysql>grant all on dbname.* to username@ identified by ''localhostpassword''
重新整理許可權表 mysql>flush privileges;
.從txt文字檔案向資料庫匯入檔案 1)用select into做備份
select * from table where ... order... group by ...
into outfile ''/tmp/data.dat''
[fields
[terminated by ''\t'']
[[optionally] enclosed by '''']
[escaped by ''\\'']
[lines terminated by ''\n'']
[ignore number lines]
[(col_name,...)]
mysql>select * from tblname where id<10 int outfile ''a.dat'' fields terminated by ''|'' lines terminated by ''\n'';
2)用load data恢復
load data [low_priority | concurrent]
[local]
infile ''a.dat''
[fields
[terminated by ''\t'']
[[optionally] enclosed by '''']
[escaped by ''\\'']
[lines terminated by ''\n'']
[ignore number lines]
[(col_name,...)]
mysql>load data
infile ''a.dat''
into table tblname
fields terminated by ''|''
lines terminated by ''\n'';
3)mysqlimport---load data的等價命令
mysqlimport
dbname
-u root
-h localhost
-password
[--fields-terminated-by=...]
[--fields-enclosed-by=...]
[--fields-optionally-enclosed-by=...]
[--fields-escaped-by=...]
[--lines-terminated-by=...]
[--port=3306]
[--socket=/path/to/socket]
[--character-sets-dir=name]
[-d,--delete] 輸入檔案前,清空表
]-l,--lock-tables] 鎖定準備寫入的表
%mysqlimport dbname -u root -password a.dat
.匯出成.sql語句 1)用mysqldump備份
--add-locks 加上鎖表語句,建議使用,將加快速度,以加快insert時的速度
--add-drop-table 新增drop table
-a, --all-databases 匯出所有的資料庫
--allow-keywords 為避免不允許列名與關鍵字名不同,而在列名前加表名
-c,--complete-insert 使用完整的插入語句
-c,--compress 壓縮資料
-b,--databases 儲存指定的幾個庫
-e,--extended-insert 利用多行insert方式使結果更緊湊,速度更快,因為索引快取器只在每個insert命令後重新整理
--fields-terminated-by=...
--fields-enclosed-by=...
--fields-optionally-enclosed-by=...
--fields-escaped-by=...
--lines-terminated-by=...
-h, --host=... 主機
-l,--lock-tables 鎖表
-k,--disable-keys 在insert前使索引無效,之後有效,使插入有效
--opt等效於--quick --add-drop-table --add-locks --extened-insert --lock-tables的組合 這是最快的恢復
--password 提示輸入密碼
-p portnumber,--port=portnumber 指明tcp/ip埠號
-q,--quick 不對錶進行暫存,但直接儲存在stdout.用mysql_use_result()去做,對於大的表,必須這樣做
-q,--quote-names 把表和列的名放入單引號裡
-r,--result-file=... 輸出到指定檔案.這在dos中有用,因為它可以阻止unix的新行\n符被轉換成\n\r
-s /tmp/socket, 指定socket檔案
--socket=/tmp/socket
-t,--tab=path-to-some-directory 為每乙個表建立兩個檔案tblname.sql, tblname.txt
-u username, 連線的使用者名稱
--user=username
-w,--where=''where-condition'' 匯出的條件
-x,--xml 以符合方法的xml形式儲存資料庫
-o net_buffer_length=n 當建立多行插入語句時,該數建立行數的大小最多為n(-e或-opt引數,n必須小於16mb)
%mysqldump
--where=''id>5'' #只備份id大於5的記錄
dbname
[tblname]
>/tmp/a.sql
2)匯出到mysql_db.xml
%mysqldump mysql -x > mysql_db.xml
3)最快匯出方式
%mysqldump mysql --opt >msyql.sql
4)恢復用mysqldump備份的資料庫
%mysql dbname < /tmp/a.sql
或mysql>source /tmp/a.sql
.查詢引數 1) \g 在語句尾,同;
2) \g 在語句尾,使查詢結果以豎形輸出
3) \c 在語句尾,使當前語句不執行
mysql表的語法技巧 MySql表操作常用語法
檢查表 check table table name 修復表repair table table name 優化表optimize table table name 分析表analyze table table name 清空表truncate table name 刪除表drop table na...
mysql常問內容 mysql常問問題
前言 一些自己遇到的問題及理解 需補充修改 索引型別 主鍵索引 普通索引 符合索引 唯一索引 全文索引 索引 查詢資料的資料結構,索引占用磁碟空間,更新資料的時候影響更新表的效率 資料儲存型別 聚簇索引 非聚簇索引 聚簇 採用b 樹的資料結構,聚簇索引葉子節點存放證章表的資料,所以主鍵索引就是用的聚...
mysql檢視mylog命令 mysql常用命令
連線mysql 1.登入mysql資料庫 mysql u使用者名稱 p密碼 示例 2.登入遠端主機的mysql mysql h遠端主機ip位址 u使用者名稱 p密碼 示例 注 建立使用者命令格式為 create user hehe 192.168.93.151 3.退出mysql命令 exit 修改...