MySQL常用命令

說來慚愧盗痒,雖計(jì)算機(jī)專業(yè)出身,了解些Linux命令低散,但從未熟練使用過linux操作系統(tǒng)俯邓。今入手了Mac,簡(jiǎn)單整理下OS系統(tǒng)下Mysql常用命令熔号。

導(dǎo)出數(shù)據(jù)

前文說到稽鞭,吾僅是為了dump一份測(cè)試數(shù)據(jù)到本地環(huán)境,以擺脫數(shù)據(jù)庫連接 IP白名單引镊,那么我們就具體dump數(shù)據(jù)庫的過程為由朦蕴,說明下具體牽涉的常用MySQL命令。

1.導(dǎo)出數(shù)據(jù)庫(表)

導(dǎo)出整個(gè)數(shù)據(jù)庫

mysqldump -u 用戶名 -p --default-character-set=latin1 數(shù)據(jù)庫名 > 導(dǎo)出的文件名(數(shù)據(jù)庫默認(rèn)編碼是latin1)

such as : mysqldump -u root -p operate > operate.sql

導(dǎo)出一個(gè)表

mysqldump -u 用戶名 -p 數(shù)據(jù)庫名 表名> 導(dǎo)出的文件名

such as: ?mysqldump -u root -p operate op_company_user> op_company_user.sql

導(dǎo)出數(shù)據(jù)庫結(jié)構(gòu)

mysqldump -u 用戶名 -p -d -add-drop-table 數(shù)據(jù)庫名>文件名

tips:-d是沒有數(shù)據(jù)弟头,-add-drop-table在每個(gè)create語句之前增加一個(gè)drop table

2. 導(dǎo)入數(shù)據(jù)庫

source operate.sql

或者:mysqldump -u root -p operate < operate.sql

或者:mysql -u root -p -D operate < operate.sql

3. 數(shù)據(jù)庫相關(guān)操作

創(chuàng)建數(shù)據(jù)庫

create database operate;

刪除數(shù)據(jù)庫

drop database operate;

連接數(shù)據(jù)庫

use operate;

查看當(dāng)前使用的數(shù)據(jù)庫

select database();

當(dāng)前數(shù)據(jù)庫包含的表信息

show tables;

顯示所有的數(shù)據(jù)庫:

show databases;

tips: mysql的退出:quit or exit;

4. 表相關(guān)操作吩抓,操作之前應(yīng)連接某個(gè)數(shù)據(jù)庫

tips: 視為常用且基礎(chǔ)的命令,此處簡(jiǎn)單一筆帶過亮瓷。

新建表

create table <表名> ( <字段名1> <類型1> [,..<字段名n> <類型n>]);

查詢表結(jié)構(gòu)

show create table op_comapny_user;

或 desc/show columns from op_company_user;

刪除表

drop table op_company_user;

表數(shù)據(jù)的增刪改查

insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )]

select <字段1琴拧,字段2,...> from < 表名 > where < 表達(dá)式 > [limit 0,2]

delete from 表名 where 表達(dá)式

update 表名 set 字段=新值,… where 條件

mysql> update MyClass set name='Mary' where id=1;

表結(jié)構(gòu)的修改

alter table 表名 add/modify/drop 字段 類型 其他;

rename table 原表名 to 新表名;

mysql數(shù)據(jù)庫的授權(quán)

比如新建一個(gè)testuser用戶賬號(hào)可以訪問嘱支,即連接到數(shù)據(jù)庫test:

grant usage on test.* to testuser@localhost;

然后蚓胸,指定testuser用戶可以執(zhí)行那些操作:

grant select,insert,delete,create,drop on test.* to testuser@localhost?

identified by '密碼'挣饥;

such as a completely case as follows:

#給hannah賦予所有庫的所有權(quán)限

GRANT ALL PRIVILEGES ON *.* TO 'hannah'@ '%' IDENTIFIED BY '123123' WITH GRANT OPTION;

#重新載入賦權(quán)表

FLUSH PRIVILEGES;

#收回權(quán)限(不包含賦權(quán)權(quán)限)

REVOKE ALL PRIVILEGES ON *.* FROM hannah;

#收回賦權(quán)權(quán)限

REVOKE GRANT OPTION ON *.* FROM hannah;

#重新載入賦權(quán)表

FLUSH PRIVILEGES;

連接到遠(yuǎn)程主機(jī)上的Mysql

mysql -h ip地址 -u root -p?

至此,Mysql常用命令的介紹暫告一段落沛膳,由于默認(rèn)大家具有一定的Mysql基礎(chǔ)扔枫,我們只是做了簡(jiǎn)單梳理匯總,沒有面面俱到(比如group by, having count, order by等并未提及)锹安。下面貼上鄙人的一段真實(shí)經(jīng)歷短荐,希望對(duì)遇到類似問題的小伙伴的有一定的幫助,或者僅以鄙人之愚蠢博君一樂~~??

話說回到初心叹哭,dump一份測(cè)試環(huán)境數(shù)據(jù)到本地以擺脫數(shù)據(jù)庫IP白名單的限制忍宋,進(jìn)而便于本地的開發(fā)測(cè)試。

經(jīng)由source命令將dunmp出的.sql文件在本地執(zhí)行后风罩,我們本地終于具有了和測(cè)試環(huán)境基本一致的表結(jié)構(gòu)和數(shù)據(jù)糠排。下一步就是要修改配置文件,數(shù)據(jù)庫連接從遠(yuǎn)程測(cè)試庫修改到本地超升。偶們用的是CI框架入宦,直接在config文件夾下修改database.php文件即可:添加一個(gè)active_group,并配置相關(guān)db信息室琢,大致情況如下截圖:

一開始乾闰,我將hostname='localhost:3306'(鄙人印象中l(wèi)ocalhost與127.0.0.1基本等價(jià)撒),然餓盈滴。涯肩。。頁面錯(cuò)誤信息:"?Warning: mysqli::real_connect(): (HY000/2002).......refused:",一臉懵逼巢钓,不要方宽菜,?錯(cuò)誤我們見到的還少嗎,不要大驚小怪竿报,冷靜下來~~~

先查看了下mysql.server status: running OK铅乡,那么問題來了:既然被連接方活得好好的,那連接refused??烈菌,只能是連接方打開的方式或姿勢(shì)不對(duì)誒阵幸。。芽世。

1.首先登錄MySQL命令行挚赊,查看unix socket所在目錄,輸入status济瓢,我們能看到如下結(jié)果截圖:

2. 根據(jù)phpinfo()查看PHP.ini的目錄和找到mysqli.default.port荠割、mysqli.default_socket、pdo_mysql.default_socket的所在目錄,若其目錄值不是步驟1中的/tmp/mysql.sock蔑鹦,則修改php.ini中的mysql.default_socket夺克、mysqli.default_socket、pdo_mysql.default_socket值為 /tmp/mysql.sock嚎朽。

若/etc/php.ini不存在铺纽,則復(fù)制一份:(話說我直接在php.ini.default中改了,???♂?哟忍,但看了下似乎修改項(xiàng)算正常狡门,就懶得改回去了,實(shí)話是我也記不清楚具體改了哪些東西了锅很,捂臉遁走其馏。。爆安。尝偎。)

cp /etc/php.ini.default /etc/php.ini

3. 重啟apache/php-fpm

PS:上述的這種解決方案看起來應(yīng)該不是瞎掰,而我在進(jìn)行到第二步鹏控,還沒修改ini文件default_socket信息的時(shí)候,發(fā)現(xiàn)將hostname=>127.0.0.1似乎就已連接正常了肤寝,故而這種解決方法也不算經(jīng)過了實(shí)際驗(yàn)證当辐,貼在這里,只當(dāng)給大家提供一種解決問題的思路吧鲤看。


至于為何連接地址由 localhost 改成 127.0.0.1 后正常呢缘揪?我也無甚深究,不過還是貼上大神的一段話(同樣未核驗(yàn)义桂,大家辯證地看看找筝,廖當(dāng)談資也罷)~~

“通常意義上localhost和127.0.0.1是等價(jià)的,只是mysql在處理這個(gè)名詞的問題上有一些不同慷吊,是根據(jù)不同的地址來采取的不同的通信手段袖裕。當(dāng)主機(jī)填寫為localhost時(shí)MySQL會(huì)采用 unix domain socket連接,當(dāng)主機(jī)填寫為127.0.0.1時(shí)MySQL會(huì)采用TCP/IP的方式連接溉瓶。使用Unix socket的連接比TCP/IP的連接更加快速與安全急鳄。這是MySQL連接的特性,可以參考官方文檔的說明4.2.2. Connecting to the MySQL Server堰酿〖埠辏”

“為此,解決方案如下:

1.使用TCP/IP代替Unix socket触创。即在連接的時(shí)候?qū)ocalhost換成127.0.0.1坎藐。

2. 修改MySQL的配置文件my.cnf,指定mysql.socket的位置:

/var/lib/mysql/mysql.sock (你的mysql.socket路徑)哼绑。

3.直接在php建立連接的時(shí)候指定my.socket的位置(官方文檔:mysqli_connect)岩馍。比如:

$db = new MySQLi('localhost', 'root', 'root', 'my_db', '3306', '/var/run/mysqld/mysqld.sock')“

ps: 這樣上下對(duì)比來看碉咆,如果我當(dāng)時(shí)未修改localhost為127.0.0.1按照上面的解決方案,指定my.socket的位置兼雄,撲騰下吟逝,似乎也是可以解決問題的。個(gè)人猜測(cè)赦肋,希望對(duì)后來者的小伙伴有幫助吧块攒。

放個(gè)彩蛋:數(shù)據(jù)庫連接的問題雖然解決了,但是a new problem comes to me: for example ,i config dev.oc server_name as my own project ,when input url=dev.oc/, it appears error page as follow;?i just guess it may be the route rules of url, next day i will confirm and solve it.

http://jingpin.jikexueyuan.com/article/47299.htm

http://blog.csdn.net/zacklin/article/details/7859680

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末佃乘,一起剝皮案震驚了整個(gè)濱河市囱井,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌趣避,老刑警劉巖庞呕,帶你破解...
    沈念sama閱讀 221,576評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異程帕,居然都是意外死亡住练,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門愁拭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來讲逛,“玉大人,你說我怎么就攤上這事岭埠≌祷欤” “怎么了?”我有些...
    開封第一講書人閱讀 168,017評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵惜论,是天一觀的道長许赃。 經(jīng)常有香客問我,道長馆类,這世上最難降的妖魔是什么混聊? 我笑而不...
    開封第一講書人閱讀 59,626評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮乾巧,結(jié)果婚禮上技羔,老公的妹妹穿的比我還像新娘。我一直安慰自己卧抗,他們只是感情好藤滥,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,625評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著社裆,像睡著了一般拙绊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,255評(píng)論 1 308
  • 那天标沪,我揣著相機(jī)與錄音榄攀,去河邊找鬼。 笑死金句,一個(gè)胖子當(dāng)著我的面吹牛檩赢,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播违寞,決...
    沈念sama閱讀 40,825評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼贞瞒,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了趁曼?” 一聲冷哼從身側(cè)響起军浆,我...
    開封第一講書人閱讀 39,729評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎挡闰,沒想到半個(gè)月后乒融,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,271評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡摄悯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,363評(píng)論 3 340
  • 正文 我和宋清朗相戀三年赞季,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片奢驯。...
    茶點(diǎn)故事閱讀 40,498評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡申钩,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出叨橱,到底是詐尸還是另有隱情,我是刑警寧澤断盛,帶...
    沈念sama閱讀 36,183評(píng)論 5 350
  • 正文 年R本政府宣布罗洗,位于F島的核電站,受9級(jí)特大地震影響钢猛,放射性物質(zhì)發(fā)生泄漏伙菜。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,867評(píng)論 3 333
  • 文/蒙蒙 一命迈、第九天 我趴在偏房一處隱蔽的房頂上張望贩绕。 院中可真熱鬧,春花似錦壶愤、人聲如沸淑倾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽娇哆。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間碍讨,已是汗流浹背治力。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留勃黍,地道東北人宵统。 一個(gè)月前我還...
    沈念sama閱讀 48,906評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像覆获,于是被迫代替她去往敵國和親马澈。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,507評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • Mysql安裝目錄 數(shù)據(jù)庫目錄 /var/lib/mysql/ 配置文件 /usr/share/mysql(mys...
    司馬糧閱讀 661評(píng)論 0 51
  • MySql常用命令 Mysql命令mysql:連接Mysql數(shù)據(jù)庫 mysql命令格式: 1) 連接到本機(jī)上的MY...
    UEUEO閱讀 487評(píng)論 0 3
  • MySQL安裝及基本命令 Windows dos 下安裝及啟動(dòng)mysql命令注冊(cè)mysql服務(wù)mysqld -in...
    Liekkas_tinyq閱讀 676評(píng)論 0 1
  • MySQL 數(shù)據(jù)庫常用命令 1锻梳、MySQL常用命令 create database name; 創(chuàng)建數(shù)據(jù)庫 use...
    55lover閱讀 4,795評(píng)論 1 57
  • 我們發(fā)現(xiàn)在一個(gè)正常的項(xiàng)目中箭券,我們要 在頁面上導(dǎo)入大量 js 文件,jQuery 文件疑枯,jQuery 各種插件...
    碧玉含香閱讀 206評(píng)論 0 0