一酸役、MySQL的登錄命令和退出命令
????(1)mysql:后面沒有其他參數(shù)時对供,表示登錄的時候是? 空用戶、空密碼
????(2)mysql?-u root? -p:-u 表示用戶名為root(管理員)-p 表示密碼為空
????(3)mysql -u root? -p123456 :表示用戶名為root(管理員),密碼為123456
??? (4)mysql?-u?root? -p123456? -h 192.168.137.251:-h表示連接地址為192.168.137.251的主機(jī)
??? (5)mysql?-u?root? -p123456? -h localhost mysql
注:-uroot = -u? root?搬瑰, -h? ip地址 = -hip地址睡蟋,?
?????? -p123456不等于-p 123456:因為空格也屬于密碼的一部分
?????(6)退出MySQL命令: exit (回車)
二宛篇、MySQL查看命令
???? (1)查看database:show database
???? (2)切換database:use mysql
???? (3)查看當(dāng)前db的有權(quán)限的表: —— show tables(查看表)
???? (4)查看表的字段:desc(describe) 表名 = show create table 表名
?????????????????????例如:查看user表有哪些字段
?????????????????????????? ?????desc(describe) user?或者 show create table user
???? (5)查看表的內(nèi)容
?????????????? ?? use mysql
??????????????? ? select user,Host,password from user
????????????? ?= select user,Host,password from mysql.user
三、MySQL權(quán)限操作
???? (1)修改mysql中root的密碼
???????? ?? 1薄湿、update? mysql.user set password=password('123456') where user='root' ——設(shè)置密碼
???????? ?? 2叫倍、flush? privileges ——刷新(在MySQL權(quán)限操作中,最后一定要加這一命令)
???????? ?? 3豺瘤、刷新之后吆倦,即設(shè)置密碼成功
如果之前有密碼的,則進(jìn)入mysql bin 目錄:mysqladmin -uroot -p舊密碼 password 新密碼
????(2)delete from mysql.user where user=' '——刪除空用戶
??? (3)update mysql.user set Host='%' where Host='hadoop000'——修改為任意機(jī)器可訪問
????????? ?? flush privileges——刷新
四坐求、創(chuàng)建新DB和用戶
???? (1)創(chuàng)建新DB:create database? ruozedb;——創(chuàng)建一個名為ruozedb的DB
???? (2)創(chuàng)建新用戶并賦予訪問權(quán)限:grant all privileges on 庫名.表名 to 用戶名@'IP地址' identified by "密碼"
????????????? 庫名:要遠(yuǎn)程訪問的數(shù)據(jù)庫名稱,所有的數(shù)據(jù)庫使用“*”
????????????? 表名:要遠(yuǎn)程訪問的數(shù)據(jù)庫下的表的名稱蚕泽,所有的表使用“*”
????????????? 用戶名:要賦給遠(yuǎn)程訪問權(quán)限的用戶名稱
????????????? IP地址:可以遠(yuǎn)程訪問的電腦(Windows)的IP地址,所有的地址使用“%”
????????????? 密碼:要賦給遠(yuǎn)程訪問權(quán)限的用戶對應(yīng)使用的密碼
?????????例如:grant all privileges on ruozedb.* to ruoze@'192.168.1.102' identified by '123456';
??????????????????? flush privileges;
五桥嗤、查看當(dāng)前mysql的連接數(shù)
?????? show processlist——查看連接數(shù)
?????? kill Id——根據(jù)Id來適當(dāng)kill
注:找到卡住须妻、鎖死的process,然后與開發(fā)確認(rèn)好kill之后是否有影響泛领,再決定要不要kill
六荒吏、刪除數(shù)據(jù)庫(DB)
???????????? drop database ruozedb——直接刪除數(shù)據(jù)庫,不提醒
???????????? mysqladmin drop database ruozedb——刪除數(shù)據(jù)庫前渊鞋,有提示绰更。
???????????? select中加上distinct——去除重復(fù)字段
?????????????select version(),current_date; ——顯示當(dāng)前mysql版本和當(dāng)前日期
七、grant詳解
???? (1)創(chuàng)建一個可以從任何地方連接服務(wù)器的一個完全的超級用戶锡宋,但是必須使用一個口令something做這個
mysql> grant all privileges on *.* to user@localhost identified by ’something’ with grant? option;
???? (2)增加新用戶
格式:grant select on 數(shù)據(jù)庫.* to 用戶名@登錄主機(jī) identified by “密碼”
GRANT ALL PRIVILEGES ON *.* TO monty@localhost IDENTIFIED BY ’something’ WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO monty@”%” IDENTIFIED BY ’something’ WITH GRANT OPTION;
???? (3)刪除授權(quán):
mysql> revoke all privileges on *.* from root@”%”;
mysql> delete from user where user=”root” and host=”%”;
mysql> flush privileges;
???? (4)創(chuàng)建一個用戶custom在特定客戶端it363.com登錄儡湾,可訪問特定數(shù)據(jù)庫fangchandb
mysql >grant select, insert, update, delete, create,drop on fangchandb.* to custom@ it363.com identified by ‘ passwd’
???? (5)重命名表: mysql > alter table t1 rename t2;
八、mysqldump (備份)
???? (1)備份數(shù)據(jù)庫
???????????shell> mysqldump -h host -u root -p dbname >dbname_backup.sql
???? (2)恢復(fù)數(shù)據(jù)庫
??????????? shell> mysqladmin -h myhost -u root -p create dbname
??????????? shell> mysqldump -h host -u root -p dbname < dbname_backup.sql
???? (3)如果只想卸出建表指令执俩,則命令如下:
???????????? shell> mysqladmin -u root -p -d databasename > a.sql
???? (4)如果只想卸出插入數(shù)據(jù)的sql命令徐钠,而不需要建表命令,則命令如下:
??????????????shell> mysqladmin -u root -p -t databasename > a.sql