首先你電腦上必須安裝了mysql的資料庫。(如果你不清楚自己是否已經安裝成功mysql,你可以在開始菜單輸入「mysql」,進行搜索)
打開你的Navicat
for
Mysql
(這里也可以使用上面的方法,在開始菜單搜索框中輸入『navicat』)
打開後單機工具欄左邊第一個『connection』,進入連接頁面。
最重要的一步:打開的界面有五個框需要輸入,第一個:connection
Name
需要輸入的是你新建的連接的的名字,這里我們就命名為『本地』,第二個:
Host
Name/Ip
Address
你需要輸入的是你本機的ip地址或者直接輸入』localhost』,這里我們選擇第二種。
第三個:Port
,輸入你安裝時候的埠號,一般為默認的3306;第四個和第五個分別為:UserName和Password,意思為你需要輸入你資料庫名用戶名和密碼,我的用戶名是:root,密碼:(保密,嘿嘿)。最後把下面那個『Save
Passwod』的小框框給勾上。
完成上面步驟,然後點擊左下角有個『Test
Connectiion』如果彈出success,恭喜你直接點擊右下角的『save』按鈕就可以了。如果彈出error
,你則需要再重新仔細查看自己哪裡填錯了。
點擊『save』後,你就可以雙擊「本地」(這里的『本地』是你剛才輸入的connection
Name),然後打開你的資料庫了。
② 伺服器端安裝mysql資料庫的相關問題
天互數據 為您解答,希望能幫到你
方法/步驟
mysql安裝向導啟動,按「Next」繼續
安裝mysql資料庫伺服器
選擇安裝類型,有「Typical(默認)」、「Complete(完全)」、「Custom(用戶自定義)」三個選項,我們選擇「Custom」,
安裝mysql資料庫伺服器
確認一下先前的設置,如果有誤,按「Back」返回重做。按「Install」開始安裝。
安裝mysql資料庫伺服器
正在安裝中,請稍候,直到出現下面的界面
安裝mysql資料庫伺服器
詢問你是否要注冊一個mysql.com的賬號,或是使用已有的賬號登陸mysql.com,一般不需要了,點選「Skip Sign-Up」,按「Next」略過此步驟。
安裝mysql資料庫伺服器
現在軟體安裝完成了,出現上面的界面,這里有一個很好的功能,mysql配置向導,將「Configure the Mysql Server now」前面的勾打上,點「Finish」結束軟體的安裝並啟動mysql配置向導。
安裝mysql資料庫伺服器
mysql配置向導啟動界面,按「Next」繼續。
選擇配置方式,「Detailed Configuration(手動精確配置)」、「Standard Configuration(標准配置)」,我們選擇「Detailed Configuration」,方便熟悉配置過程。
選擇伺服器類型,「Developer Machine(開發測試類,mysql佔用很少資源)」、「Server Machine(伺服器類型,mysql佔用較多資源)」、「Dedicated MySQL Server Machine(專門的資料庫伺服器,mysql佔用所有可用資源)」,大家根據自己的類型選擇了,一般選「Server Machine」,不會太少,也不會占滿。
選擇mysql資料庫的大致用途,「Multifunctional Database(通用多功能型,好)」、「Transactional Database Only(伺服器類型,專注於事務處理,一般)」、「Non-Transactional Database Only(非事務處理型,較簡單,主要做一些監控、記數用,對MyISAM數據類型的支持僅限於non-transactional),隨自己的用途而選擇了,我這里選擇「Transactional Database Only」,按「Next」繼續。
對InnoDB Tablespace進行配置,就是為InnoDB 資料庫文件選擇一個存儲空間,如果修改了,要記住位置,重裝的時候要選擇一樣的地方,否則可能會造成資料庫損壞,當然,對資料庫做個備份就沒問題了,這里不詳述。我這里沒有修改,使用用默認位置,直接按「Next」繼續
選擇您的網站的一般mysql訪問量,同時連接的數目,「Decision Support(DSS)/OLAP(20個左右)」、「Online Transaction Processing(OLTP)(500個左右)」、「Manual Setting(手動設置,自己輸一個數)」,我這里選「Online Transaction Processing(OLTP)」,自己的伺服器,應該夠用了,按「Next」繼續
是否啟用TCP/IP連接,設定埠,如果不啟用,就只能在自己的機器上訪問mysql資料庫了,我這里啟用,把前面的勾打上,Port Number:3306,在這個頁面上,您還可以選擇「啟用標准模式」(Enable Strict Mode),這樣MySQL就不會允許細小的語法錯誤。如果您還是個新手,我建議您取消標准模式以減少麻煩。按「Next」繼續
西文編碼,這里選擇第三個,然後在Character Set那裡選擇或填入「gbk」,當然也可以用「gb2312」,區別就是gbk的字型檔容量大,包括了gb2312的所有漢字,並且加上了繁體字、和其它亂七八糟的字——使用mysql的時候,在執行數據操作命令之前運行一次「SET NAMES GBK;」就可以正常的使用漢字(或其它文字)了,否則不能正常顯示漢字。按「Next」繼續
安裝mysql資料庫伺服器
選擇是否將mysql安裝為windows服務,還可以指定Service Name(服務標識名稱),是否將mysql的bin目錄加入到Windows PATH(加入後,就可以直接使用bin下的文件,而不用指出目錄名,比如連接,「mysql.exe -uusername -ppassword;」就可以了,不用指出mysql.exe的完整地址,很方便),我這里全部打上了勾,Service Name不變。按「Next」繼續。選擇是否將mysql安裝為windows服務,還可以指定Service Name(服務標識名稱),是否將mysql的bin目錄加入到Windows PATH(加入後,就可以直接使用bin下的文件,而不用指出目錄名,比如連接,「mysql.exe -uusername -ppassword;」就可以了,不用指出mysql.exe的完整地址,很方便),我這里全部打上了勾,Service Name不變。按「Next」繼續。
這一步詢問是否要修改默認root用戶(超級管理)的密碼(默認為空),「New root password」如果要修改,就在此填入新密碼(如果是重裝,並且之前已經設置了密碼,在這里更改密碼可能會出錯,請留空,並將「Modify Security Settings」前面的勾去掉,安裝配置完成後另行修改密碼),「Confirm(再輸一遍)」內再填一次,防止輸錯。「Enable root access from remote machines(是否允許root用戶在其它的機器上登陸,如果要安全,就不要勾上,如果要方便,就勾上它)」。最後「Create An Anonymous Account(新建一個匿名用戶,匿名用戶可以連接資料庫,不能操作數據,包括查詢)」,一般就不用勾了,設置完畢,按「Next」繼續。
確認設置無誤,如果有誤,按「Back」返回檢查。按「Execute」使設置生效。
設置完畢,.
③ mysql 如何實現讀寫分離,用mysql-proxy 或者直接用php連接兩個資料庫
Mysql主從配置,實現讀寫分離
原理:主伺服器(Master)負責網站NonQuery操作,從伺服器負責Query操作,用戶可以根據網站功能模特性塊固定訪問Slave伺服器,或者自己寫個池或隊列,自由為請求分配從伺服器連接。主從伺服器利用MySQL的二進制日誌文件,實現數據同步。二進制日誌由主伺服器產生,從伺服器響應獲取同步資料庫。
具體實現:
1、在主從伺服器上都裝上MySQL資料庫,windows系統鄙人安裝的是mysql_5.5.25.msi版本,Ubuntu安裝的是mysql-5.6.22-linux-glibc2.5-i686.tar
windows安裝mysql就不談了,一般地球人都應該會。鄙人稍微說一下Ubuntu的MySQL安裝,我建議不要在線下載安裝,還是離線安裝的好。大家可以參考 http://www.linuxidc.com/Linux/2013-01/78716.htm 這位不知道大哥還是姐妹,寫的挺好按照這個就能裝上。在安裝的時候可能會出現幾種現象,大家可以參考解決一下:
(1)如果您不是使用root用戶登錄,建議 su - root 切換到Root用戶安裝,那就不用老是 sudo 了。
(2)存放解壓的mysql 文件夾,文件夾名字最好改成mysql
(3)在./support-files/mysql.server start 啟動MySQL的時候,可能會出現一個警告,中文意思是啟動服務運行讀文件時,忽略了my.cnf文件,那是因為my.cnf的文件許可權有問題,mysql會認為該文件有危險不會執行。但是mysql還會啟動成功,但如果下面配置從伺服器參數修改my.cnf文件的時候,你會發現文件改過了,但是重啟服務時,修改過後的配置沒有執行,而且您 list一下mysql的文件夾下會發現很多.my.cnf.swp等中間文件。這都是因為MySQL啟動時沒有讀取my.cnf的原因。這時只要將my.cnf的文件許可權改成my_new.cnf的許可權一樣就Ok,命令:chmod 644 my.cnf就Ok
(4)Ubuntu中修改文檔內容沒有Vim,最好把Vim 裝上,apt-get install vim,不然估計會抓狂。
這時候我相信MySQL應該安裝上去了。
2、配置Master主伺服器
(1)在Master MySQL上創建一個用戶『repl』,並允許其他Slave伺服器可以通過遠程訪問Master,通過該用戶讀取二進制日誌,實現數據同步。
④ MYSQL資料庫問題
創建資料庫
create database 資料庫名
on primary --主文件
(
name=邏輯名,
filename=存儲路徑及文件名, --是字元串需要用''
size=大小 --需要加單位,如MB
)
log on --日誌文件
(
name=邏輯名,
filename=存儲路徑及文件名,
size=大小
)
創建表
1、判斷表是否存在
if exists(select * from sysobjects where id = object_id(N'表名'))
註:
(1)exists(select語句),若select語句無數據行則返回false,否則返回true
(2)sysobjects是系統表的一個,存儲了所有的資料庫對象的表
(3)object_id(表名),返回表在資料庫中的id號
2、創建表
create table 表名
(
欄位名 欄位類型 是否允許為空 約束鍵,
...
)
註:
(1)最後一個欄位不需要,號
(2)若允許為空寫null,不允許寫not null
(3)約束鍵在第八章
3、刪除表
drop table 表名
註:若有主鍵被外表的外鍵引用,需要先將外鍵表刪除
⑤ 如何打開Mysql資料庫
1、安裝phpstudy伺服器,可以到官網下載這個伺服器,會有詳細的安裝步驟,安裝成功後,界面會下圖的圖標,如下圖
⑥ 資料庫(mysql)關鍵知識
Mysql是目前互聯網使用最廣的關系資料庫,關系資料庫的本質是將問題分解為多個分類然後通過關系來查詢。 一個經典的問題是用戶借書,三張表,一個用戶,一個書,一個借書的關系表。當需要查詢某個用戶借書情況或者是書被那些人借了,就用關系查詢來實現。
關系資料庫範式
來自英文Normal form,簡稱NF。要想設計—個好的關系,必須使關系滿足一定的約束條件,滿足這些規范的資料庫是簡潔的、結構明晰的,同時,不會發生插入(insert)、刪除(delete)和更新(update)操作異常。總共有六種範式:第一範式(1NF)、第二範式(2NF)、 第三範式 (3NF)、巴斯-科德範式(BCNF)、 第四範式 (4NF)和 第五範式 (5NF,又稱完美範式)。
1NF是指資料庫表的每一列都是不可分割的原子數據項。2NF必須滿足1NF,要求資料庫表中的每行記錄必須可以被唯一地區分。3NF在2NF基礎上,任何非主 屬性 不依賴於其它非主屬性(在2NF基礎上消除傳遞依賴)。BCNF是在3NF基礎上,任何非主屬性不能對主鍵子集依賴(在3NF基礎上消除對主碼子集的依賴), 滿足BCNF不再會有任何由於函數依賴導致的異常,但是我們還可能會遇到由於多值依賴導致的異常。4NF的定義很簡單:已經是BC範式,並且不包含多值依賴關系。5NF處理的是無損連接問題,這個範式基本沒有實際意義,因為無損連接很少出現,而且難以察覺。而域鍵範式試圖定義一個終極範式,該範式考慮所有的依賴和約束類型,但是實用價值也是最小的,只存在理論研究中。
Catalog和Schema
是資料庫對象命名空間中的層次,主要用來解決命名沖突的問題。從概念上說,一個資料庫系統包含多個Catalog,每個Catalog又包含多個Schema,而每個Schema又包含多個資料庫對象(表、視圖、欄位等)。但是Mysql的資料庫名就是Schema,不支持Catalog。
Mysql的資料庫引擎主要有兩種MyISAM和InnoDB,MyISAM支持全文檢索,InnoDB支持事務。
SQL中的通配符『%』代表任意字元出現任意次數。『_』代表任意字元出現一次。SQL與正則表達式結合查詢一般用在WHERE table_name REGEXP '^12.34'。子查詢是從里到外執行。
資料庫聯結(join)涉及到外鍵,外鍵是指一個表的列是另一個表的主鍵,那麼它就是外鍵。笛卡爾積聯結(不指定聯結條件時)生成的記錄條目是單純的第一個表的行乘以第二個表的列數。用得最多的是等值聯結也叫內部聯結。
高級聯結還有自連接,是指查詢中的兩張表是同一張表,它通常作為外部語句用來代替從相同表中檢索數據時使用的子查詢。自然聯結使每個列只返回一次。外部聯結是指聯結包含了那些在相關表中沒有關聯行的行。例如列出所有產品及其訂購數量,包括沒有人訂購的產品。LEFT OUTER JOIN指選擇左邊表的所有行。
組合查詢是指採用UNION等將兩個查詢結果取並集。
視圖是查看存儲在別處的數據的一種工具,它本身並不包含數據,因此表的數據修改了,視圖返回的數據也將隨之修改,因此如果使用了復雜或嵌套視圖會對性能有較大的影響。視圖的作用之一是隱藏復雜的SQL通常會涉及到聯結查詢。
存儲過程類似於批處理,包含了一條或多條SQL語句。語法:
CREATE PROCEDURE name()
BEGIN
SQL
END
-------------------------
CALL name()//來調用存儲過程
游標有DECLARE定義,游標與存儲過程是綁定的,存儲過程處理完成,游標就會消失。游標被打開後可以使用FETCH語句訪問每一行。
觸發器是在某個時間發生時自動執行某條SQL語句。語法:
CREATE TRIGGER name AFTER INSERT ON talbe_name FOR EACH ROW
事務處理可以維護資料庫的完整性,保證批量的操作要麼完全執行,要麼完全不執行。包括事務、回退、提交、保留點幾個關鍵術語。ROLLBACK只能在一個事務處理內使用。他不能回退CREATE和DROP操作。使用COMMIT保證事務提交。復雜的事務處理需要部分提交或回退,因此我們需要使用保留點SAVEPOINT。可以使用ROLLBACK TO savepoint_name。保留點越多越好。保留點在事務執行完成後自動釋放。
⑦ mysql資料庫如何離線查看
一般情況下,mysql會默認提供多種存儲引擎,你可以通過下面的查看:
看你的mysql現在已提供什麼存儲引擎:
mysql>
show
engines;
看你的mysql當前默認的存儲引擎:
mysql>
show
variables
like
'%storage_engine%';
你要看某個表用了什麼引擎(在顯示結果里參數engine後面的就表示該表當前用的存儲引擎):
mysql>
show
create
table
表名;
⑧ 怎樣將MySQL資料庫結構和數據導出或導入
在使用MySQL時,有時需要從資料庫中導出數據,以便用在本地或其它的資料庫系統之上,或者將現有數據導入MySQL資料庫中。做MySQL資料庫的結構和數據的導出和導入。要用到MySQL的mysqlmp工具,基本用法是:
shell> mysqlmp [OPTIONS] database [tables]
如果不給定任何錶,整個資料庫將被導出。
如果想看到mysqlmp的版本支持的各個選項及含義,可以執行這條命令:
shell> mysqlmp --help
下面來談談mysqlmp支持的主要選項及含義:
--add-locks :在每個表導出之前增加LOCK TABLES並且之後UNLOCK TABLE。
--add-drop-table :在每個create語句之前增加一個drop table。
--allow-keywords :允許創建是關鍵詞的列名字。這由表名前綴於每個列名做到。
-c, --complete-insert :使用完整的insert語句(用列名字)。
-C, --compress :如果客戶和伺服器均支持壓縮,壓縮兩者間所有的信息。
--delayed :用INSERT DELAYED命令插入行。
-e, --extended-insert :使用全新多行INSERT語法。(給出更緊縮並且更快的插入語句)
-#, --debug[=option_string] :跟蹤程序的使用(為了調試)。
--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。
-pyour_pass, --password[=PASSWORD] :與伺服器連接時使用的口令。如果你不指定"="PASSWORD"部分,mysqlmp需要來自終端的口令。
-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文件,它包含數據。 注意:這只有在mysqlmp運行在mysqld守護進程運行的同一台機器上的時候才工作。.txt文件的格式根據--fields-xxx和--lines--xxx選項來定。
-u user_name, --user=user_name :與伺服器連接時,MySQL使用的用戶名。預設值是你的Unix登錄名。
-O var=option, --set-variable var=option設置一個變數的值。可能的變數被列在下面。
-v, --verbose :冗長模式。列印出程序所做的更多的信息。
-w, --where='where-condition' :只導出被選擇了的記錄;注意引號是強制的。
"--where=user='jimf'" "-wuserid>1" "-wuserid<1"
我們可以用mysqlmp作整個資料庫的一個備份:
mysqlmp --opt database > backup-file.sql
或者我們將一個資料庫的信息填充到另外一個MySQL資料庫:
mysqlmp --opt database | mysql --host=remote-host -C database由於mysqlmp導出的是完整的SQL語句,所以用mysql客戶程序很容易就能把數據導入了:
shell> mysqladmin create target_db_name
shell> mysql target_db_name < backup-file.sql