程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 教會你完整弄定MySQL數據庫 輕松八句話

教會你完整弄定MySQL數據庫 輕松八句話

編輯:MySQL綜合教程

教會你完整弄定MySQL數據庫 輕松八句話。本站提示廣大學習愛好者:(教會你完整弄定MySQL數據庫 輕松八句話)文章只能為提供參考,不一定能成為您想要的結果。以下是教會你完整弄定MySQL數據庫 輕松八句話正文


1、銜接MYSQL 格局:
mysql -h主機地址
-u用戶名
-p用戶暗碼
1、例1:銜接到本機上的MySQL:
起首在翻開DOS窗口,然落後入目次 mysqlbin,再鍵入敕令mysql -uroot -p,回車後提醒你輸暗碼,假如剛裝置好MYSQL,超等用戶root是沒有暗碼的,故直接回車便可進入到MYSQL中了,MYSQL的提醒符是:mysql>。
2、例2:銜接到長途主機上的MYSQL。假定長途主機的IP為:110.110.110.110,用戶名為root,暗碼為abcd123。則鍵入以下敕令:mysql -h110.110.110.110 -uroot -pabcd123。
3、加入MYSQL敕令:exit (回車)。
2、修正暗碼
格局:mysqladmin -u用戶名 -p舊暗碼 password 新暗碼
1、例1:給root加個暗碼ab12。起首在DOS下進入目次mysqlbin,然後鍵入以下敕令:
mysqladmin -uroot -password ab12
注:由於開端時root沒有暗碼,所以-p舊暗碼一項便可以省略了。
2、例2:再將root的暗碼改成djg345:
mysqladmin -uroot -pab12 password djg345
3、增長新用戶
(留意:和下面分歧,上面的由於是MYSQL情況中的敕令,所今後面都帶一個分號作為敕令停止符)
格局:
grant select on 數據庫.*
to 用戶名@登錄主機 identified by "暗碼"
例1、增長一個用戶test1暗碼為abc,讓他可以在任何主機上登錄,並對一切數據庫有查詢、拔出、修正、刪除的權限。起首用以root用戶連入MYSQL,然後鍵入以下敕令:
grant select,insert,update,
delete on *.* to test1@"%" Identified by "abc";
但例1增長的用戶是非常風險的,你想如某小我曉得test1的暗碼,那末他便可以在internet上的任何一台盤算機上登錄你的mysql數據庫並對你的材料可認為所欲為了,處理方法見例2。
例2、增長一個用戶test2暗碼為abc,讓他只可以在localhost上登錄,並可以對數據庫mydb停止查詢、拔出、修正、刪除的操作(localhost指當地主機,即MYSQL數據庫地點的那台主機),如許用戶即便用曉得test2的暗碼,他也沒法從internet上直接拜訪數據庫,只能經由過程MYSQL主機上的web頁來拜訪了。
grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc";
假如你不想test2有暗碼,可以再打一個敕令將暗碼消失落。
grant select,insert,update,delete on mydb.* to test2@localhost identified by "";
留意:你必需起首登錄到MYSQL中,以下操作都是在MYSQL的提醒符下停止的,並且每一個敕令以分號停止。
4、操作技能
1、假如你打敕令時,回車後發明忘卻加分號,你不必重打一遍敕令,只需打個分號回車便可以了。也就是說你可以把一個完全的敕令分紅幾行來打,完後用分號作停止標記就OK。
2、你可使用光標高低鍵調出之前的敕令。但之前我用過的一個MYSQL舊版本不支撐。我如今用的是:mysql-3.23.27-beta-win。
5、顯示敕令
1、顯示數據庫列表:show databases;
剛開端時才兩個數據庫:mysql和test。mysql庫很主要它外面有MYSQL的體系信息,我們改暗碼和新增用戶,現實上就是用這個庫停止操作。
2、顯示庫中的材料表:
use mysql;
//翻開庫,學過FOXBASE的必定不會生疏吧
show tables;
3、顯示材料表的構造:describe 表名;
4、建庫:create database 庫名;
5、建表:
use 庫名;
create table 表名 (字段設定列表);
6、刪庫和刪表:
drop database 庫名;
drop table 表名;
7、將表中記載清空:delete from 表名;
8、顯示表中的記載:select * from 表名;
6、一個建庫和建表和拔出數據的實例 drop database if exists school; //假如存在SCHOOL則刪除
create database school;
//樹立庫SCHOOL
use school;
//翻開庫SCHOOL
create table teacher
//樹立表TEACHER
(
id int(3) auto_increment not null primary key,
name char(10) not null,
address varchar(50) default 深圳,
year date
); //建表停止
//以下為拔出字段
insert into teacher valuess
(,glchengang,深圳一中,1976-10-10);
insert into teacher valuess
(,jack,深圳一中,1975-12-23);



注:在建表中(1)將ID設為長度為3的數字字段:int(3)並讓它每一個記載主動加一:auto_increment其實不能為空:not null並且讓他成為主字段primary key(2)將NAME設為長度為10的字符字段(3)將ADDRESS設為長度50的字符字段,並且缺省值為深圳。varchar和char有甚麼差別呢,只要等今後的文章再說了。 (4)將YEAR設為日期字段。
假如你在mysql提醒符鍵入下面的敕令也能夠,但不便利調試。你可以將以上敕令原樣寫入一個文本文件中假定為school.sql,然後復制到c:下,並在DOS狀況進入目次mysqlbin,然後鍵入以下敕令:
mysql -uroot -p暗碼
假如勝利,空出一行無任何顯示;若有毛病,會有提醒。(以上敕令曾經調試,你只需將//的正文去失落便可應用)。
7、將文本材料轉到數據庫中
1、文本材料應相符的格局:字段材料之間用tab鍵離隔,null值用n來取代.
例:
3 rose 深圳二中 1976-10-10
4 mike 深圳一中 1975-12-23
2、數據傳入敕令 load data local infile “文件名” into table 表名;
留意:你最好將文件復制到mysqlbin目次下,而且要先用use敕令打表地點的庫 。
8、備份數據庫:
(敕令在DOS的mysqlbin目次下履行)
mysqldump --opt school>school.bbb
正文:將數據庫school備份到school.bbb文件,school.bbb是一個文本文件,文件名任取,翻開看看你會有新發明。

=======================================================


MySQL辦事器啟動敕令以下:net start mysql

MySQL辦事器停滯敕令以下:net stop mysql

MySQL辦事器的銜接敕令以下:

方法一:mysql -h 主機名 -u 用戶名 -p 用戶暗碼

方法二:mysql --host=主機名 --user=用戶名 --password=用戶暗碼

默許的主機是:localhost

=======================================================

1、數據備份捷徑

由於這個辦法沒有獲得官樸直式文檔的驗證,我們暫稱為實驗吧。

目標:備份hostA主機中一個mysql數據庫TestA,並恢復到到hostB機中

實驗情況:

操作體系:WinNT4.0,Mysql3.22.34,phpMyAdmin 2.1.0

在hostA中裝置mysql數據庫並樹立TestA數據庫

hostB機裝置mysql數據庫,沒有TestA數據庫

辦法步調:

啟動phpMyAdmin觀察HostA和HostB中的數據庫列表,在HostB中沒有TestA數據庫

找到HostA中mysql的裝置目次,並找到數據庫目次data

在我的實驗情況中,這個目次是

C:mysqldata

找到對應數據庫稱號的子目次

C:mysqldataTestA

粘貼拷貝到HostB的Data目次下,是HostA同HostB Mysql數據目次下的文件雷同

刷新HostB的phpMyAdmin觀察一下數據庫列表,我們看到TestA曾經湧現,而且作查詢修正等操作都正常,備份恢復恢復勝利

實驗結論:Mysql的數據庫可以經由過程文件情勢保留,備份,恢復只需將響應文件目次恢復便可,無需應用其它對象備份。

2、正軌的辦法(官方建議):

導出要用到MySQL的mysqldump對象,根本用法是:

mysqldump [OPTIONS] database [tables]

假如你不給定任何表,全部數據庫將被導出。

經由過程履行mysqldump --help,你能獲得你mysqldump的版本支撐的選項表。

留意,假如你運轉mysqldump沒有--quick或--opt選項,mysqldump將在導出成果前裝載全部成果集到內存中,假如你正在導出一個年夜的數據庫,這將能夠是一個成績。

mysqldump支撐以下選項:

--add-locks

在每一個表導出之前增長LOCK TABLES而且以後UNLOCK TABLE。(為了使得更快地拔出到MySQL)。

--add-drop-table

在每一個create語句之前增長一個drop table。

--allow-keywords

許可創立是症結詞的列名字。這由在列名後面加表名的辦法做到。

-c, --complete-insert

應用完全的insert語句(用列名字)。

-C, --compress

假如客戶和辦事器均支撐緊縮,緊縮二者間一切的信息。

--delayed

用INSERT DELAYED敕令拔出行。

-e, --extended-insert

應用全新多行INSERT語法。(給出更壓縮而且更快的拔出語句)

-#, --debug[=option_string]

跟蹤法式的應用(為了調試)。

--help

顯示一條贊助新聞而且加入。

--fields-terminated-by=...

--fields-enclosed-by=...

--fields-optionally-enclosed-by=...

--fields-escaped-by=...

--fields-terminated-by=...

這些選擇與-T選擇一路應用,而且有響應的LOAD DATA INFILE子句雷同的寄義。

LOAD DATA INFILE語法。

-F, --flush-logs

在開端導出前,洗失落在MySQL辦事器中的日記文件。

-f, --force,

即便我們在一個表導出時代獲得一個SQL毛病,持續。

-h, --host=..

從定名的主機上的MySQL辦事器導出數據。缺省主機是localhost。

-l, --lock-tables.

為開端導出鎖定一切表。

-t, --no-create-info

不寫入表創立信息(CREATE TABLE語句)

-d, --no-data

不寫入表的任何行信息。假如你只想獲得一個表的構造的導出,這是很有效的!

--opt

同--quick --add-drop-table --add-locks --extended-insert --lock-tables。

應當給你為讀入一個MySQL辦事器的盡量最快的導出。

-pyour_pass, --password[=your_pass]

與辦事器銜接時應用的口令。假如你不指定“=your_pass”部門,mysqldump須要來自終真個口令。

-P port_num, --port=port_num

與一台主機銜接時應用的TCP/IP端標語。(這用於銜接到localhost之外的主機,由於它應用 Unix套接字。)

-q, --quick

不緩沖查詢,直接導出至stdout;應用mysql_use_result()做它。

-S /path/to/socket, --socket=/path/to/socket

與localhost銜接時(它是缺省主機)應用的套接字文件。

-T, --tab=path-to-some-directory

關於每一個給定的表,創立一個table_name.sql文件,它包括SQL CREATE 敕令,和一個table_name.txt文件,它包括數據。 留意:這只要在mysqldump運轉在mysqld守護過程運轉的統一台機械上的時刻才任務。.txt文件的格局依據--fields-xxx和--lines--xxx選項來定。

-u user_name, --user=user_name

與辦事器銜接時,MySQL應用的用戶名。缺省值是你的Unix登錄名。

-O var=option, --set-variable var=option

設置一個變量的值。能夠的變量被列鄙人面。

-v, --verbose

冗雜形式。打印出法式所做的更多的信息。

-V, --version

打印版本信息而且加入。

-w, --where='where-condition'

只導出被選擇了的記載;留意引號是強迫的!

"--where=user='jimf'" "-wuserid>1" "-wuserid<1"

最多見的mysqldump應用能夠制造全部數據庫的一個備份:

mysqldump --opt database > backup-file.sql

然則它對用來自於一個數據庫的信息充分別的一個MySQL數據庫也是有效的:

mysqldump --opt database | mysql --host=remote-ho
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved