程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 初學MySql5 所應了解的知識和常見問題

初學MySql5 所應了解的知識和常見問題

編輯:關於MYSQL數據庫

一:關於MySQL5

 

MySQL5系列數據庫是MySQL的最新版本的數據庫,比較流行的發行版是mysql-5.0.18。MySQL 英文官方網站是http://www.MySQL.com/

 

二:獲得MySQL5

 

所有的關於MySQL數據庫的程序,都可以在它的英文官方網站下載到,但是,鑒於不不是所有人的英文都很好,所以建議大家盡量區MySQL的中文官方網站下載自己所需的程序,如果找不到,再去找英文的網站。

MySQL5有安裝版和免安裝版之分,顧名思義,安裝版就是需要安裝以後才可以使用;免安裝版的MySQL下載下來之後就可以使用,或者進行簡單的設置就可以使用。

MySQL5安裝版下載地址:

Windows版本:http://download.MySQL.cn/src/2006/0218/199.Html

Linux版本(源碼包):http://download.MySQL.cn/src/2006/0208/62.Html

MySQL5免安裝版下載地址:

Windows版本:http://download.MySQL.cn/src/2006/0302/205.Html

 

三:MySQL5安裝

 

Windows版安裝手冊:http://bbs.MySQL.cn/thread-261-1-1.Html

Linux版本(源碼包)安裝手冊:http://bbs.MySQL.cn/thread-493-1-2.Html

 

MySQL有安裝版本和免安裝版本,免安裝版本解壓後的文件夾內沒有安裝程序,可以直接使用。

Windows免安裝版本使用手冊:http://bbs.MySQL.cn/thread-552-1-1.Html

 

四:備份與恢復

 

常規備份命令是MySQLdump,這裡以tm數據庫為例,做簡單介紹,詳細資料參考

http://info.MySQL.cn/install/2006/0410/5521.Html

 

備份:

 

#MySQLdump -u root -p tm > tm_20060101.sql

按提示輸入密碼,這就把tm數據庫所有的表結構和數據備份到tm_20060101.sql了,因為要總進行備份工作,如果數據量大會占用很大空間,

這是可以利用gzip壓縮數據,命令如下:

#MySQLdump -u root -p tm | gzip > tm_20060101.sql.gz

還可以備份到遠程機器,用-h制定,如

#MySQLdump -u root -p tm > tm_20060101.sql -h xxx.xxx.xxx.xxx

可以直接備份到IP地址為xxx.xxx.xxx.xxx的遠程計算機。

恢復

 

系統崩潰,重建系統,或恢復數據庫時,可以這樣恢復數據:

#MySQL -u root -p tm < tm_20060101.sql

從壓縮文件直接恢復:

#gunzip < tm_20060101.sql.gz | MySQL -u root -p tm

五:FAQ

 

Q:為什麼我下在的“安裝程序”裡面沒有安裝文件?

A:你下載的可能是免安裝版本。請給出詳細的版本信息。

 

Q:如何啟動和關閉MySQL?

A:Linux下:比如我的mysql是用源碼方式安裝在/usr/local/MySQL

自動:將/usr/local/mysql/share/mysql/MySQL.server拷貝到/etc/rc.d/init.d/下,然後

chkconfig --add mysql.server就可以開機就啟動MySQL服務了。

手動:以root身份執行/usr/local/mysql/bin/mysqld_safe --user=MySQL

Windows下:

自動:

用cmd方式,到mysql安裝路徑的bin文件夾下,執行:MySQLd-nt --install

手動:直接到到mysql安裝路徑的bin文件夾下執行net start MySQL即可。

如果不想讓mysql在計算機啟動時候就啟動服務,執行:MySQLd-nt --remove

也可以在HKEY_LOCAL_MacHINE\SYSTEM\CurrentControlSet\Services中刪除對應服務並重啟計算機。

關閉mysql:MySQLadmin -uroot -p shutdown

啟動MySQL:

MySQLd-nt --install

net start MySQL

 

 

Q:如何登錄MySQL?

A:MySQL -uroot -p回車後,輸入密碼,再回車即可。如果自己沒有修改的話,默認密碼為空。

 

Q:MySQL如何很好的變成圖形化數據庫呢?自身有自帶的圖形化工具沒有?

A:mysql自帶一個字符的客戶端,但是還有好多的像MySQL_center、SQLyog、PHPMyAdmin、Mysql Query Browser,Mysql Administrator、MySQLcc這樣好的圖形管理工具。

mysql_centerd在本站的下載地址:http://bbs.MySQL.cn/thread-517-1-1.Html

SQLyog去網上搜索,很多的,SQLyog407版本不錯。

PHPMyAdmin下載地址:http://download.MySQL.cn/opencode/2006/0207/55.Html

mysql.com提供的管理軟件下載地址:http://dev.MySQL.com/downloads/gui-tools/5.0.Html

其它的我就不一一提供下載地址,自己到網上搜索下載。

 

Q:為什麼用mysql -uusername -p登錄MySQL服務器時出現如下提示:

Host 'xxx.xxx.xxx.xxx' is not allowed to connect to this MySQL Server!("xxx.xxx.xxx.xxx"代表要登錄的服務器)

A:這是因為你要登錄的MySQL服務器不允許用戶username從xxx.xxx.xxx.xxx這個ip地址登錄。

解決辦法是在服務器登錄MySQL,操作步驟為:

MySQL -uroot -p

(輸入密碼)

use MySQL

update user set Host="%" where User="username";

flush privileges;

 

Q:什麼是PHPMyAdmin?

A:phpMyAdmin 是一個用PHP編寫的,可以通過互聯網控制和操作MySQL。通過PHPMyAdmin可以完全對數據庫進行操作,例如建立、復制/刪除數據等等。

有了phpMyAdmin 就可以完全不使用MySQL命令,直接使用PHPMyAdmin就能管理MySQL的所有數據和數據庫

 

Q:如何使用PHPMyAdmin?

A:要使用phpMyAdmin,下載後,把它釋放到web服務器的根目錄下,取個名字,比如就叫PHPMyAdmin,然後在浏覽器的地址欄輸入:

http://X.X.X.X/phpMyAdmin/index.PHP

就可以了。

如果是phpMyAdmin 2.8.0.2以上版本的,這樣使用會報錯,因為默認沒有這個軟件需要的配置文件config.default.PHP,在2.6.X版本下都有這個文件,只是口令不對。對於2.6.X版本的,可以直接用文本編輯器打開這個文件,把其中第一個$cfg中內容修改成自己的用戶名及密碼就可以了:

 

$cfg['Servers'][$i]['auth_type']     = 'config';    
// Authentication method (config, http or cookIE based)?
$cfg['Servers'][$i]['user']          = 'root';      
// MySQL user
$cfg['Servers'][$i]['passWord']      = '自己的密碼';

 

不設置密碼的話,系統會提示:

Access denIEd for user 'root'@'localhost' (using passWord: NO)

 

如果是2.8.0.2版本的,程序會提示請運行scripts/setup.php或者index.php這樣的文件進行配置以生成config.inc.PHP文件。

 

Q:為什麼我使用MySQL出現亂碼?

A:安裝mysql5時默認的字符集是瑞典編碼latin1,不支持中文。並且出現亂碼的原因很多,建議到bbs.MySQL.cn論壇尋找答案。發貼的話請詳細說明自己的環境、安裝過程及使用的信息,以便大家能快速分析你的問題。

 

Q:為什麼我的PHPmyadmin提示不能載入MySQL擴展?

A:

一、看下你的PHP目錄和PHP\EXT下有沒有PHP_MySQL.dll這個文件。

二、配制一下環境變量把PHP_MySQL.dll所在的目錄加入的PATH裡。

三、有的php安裝程序安裝好以後,在安裝路徑下,並沒有ext文件夾(不知道為什麼),最好下載個配置的PHP,然後,將exe文件夾拷貝到安裝目錄下,再進行相應的配置。

四、看一下c:\winnt 或者是 c:\Windows下的php.ini文件裡的php_mysql.dll前面的;(分號)是否去掉了,如果沒有去掉請去掉,然後,將mysql安裝路徑下bin文件夾下的libMySQL.dll放在安裝php的根目錄一般為C:\PHP ,同時也在 C:\Windows 下也放各一個,之後重新啟動IIS或者是apache。有的時候總是刷新一頁,即使去掉分號也還是不能載入MySQL擴展,最後新打開一個窗口,再試。

 

Q:為什麼提示:"沒有發現 PHP 的擴展設置mbstring, 而當前系統好像在使用寬字符集。沒有 mbstring 擴展的 PHPMyAdmin 不能正確識別字符串,可能產生不可意料的結果."

A:因為你沒有打開mbstring在擴展,解決辦法:打開php的配置文件PHP.ini,將

extension=PHP_mbstring.dll前面的分號";"去掉,並改到正確的路徑,一般為

ext/PHP_mbstring.dll

 

Q:為什麼PHP連接MySQL會有下面的提示?

Fatal error: Call to undefined function MySQL_connect() ……

A:很有可能是沒有載入MySQL擴展,如何解決,請參考上面的方法。

因為如果你的系統沒有載入MySQL擴展的話,PHPmyadmin能給出提示,而一般的程序則不能給出。

如果PHPmyadmin沒有給出提示,而你恰好用的apache服務器,嘗試一下方法:

首先是去掉;extension=PHP_MySQL.dll前面的“;”(;為注釋)

第二步是將C:\php\ext中的PHP_MySQL.dll復制到C:\Windows(C:\WINNT)中即可,

並重起apache。

 

Q:為什麼我不能看孵化池資料?

A:MYSQL.CN的孵化池是專門為初學者提供學習的地方,這裡我就不多介紹了,詳情請訪問:http://bbs.MySQL.cn/thread-369-1-1.Html。

 

Q:能中文數據庫名稱麼?

A:可以,但是不推薦,用起來不方便。

 

Q:如果我忘記了root密碼,怎麼辦?

A:

在Windows下:

打開命令行窗口,停止mysql服務: Net stop MySQL

啟動mysql,一般到mysql的安裝路徑,找到 MySQLd-nt.exe

執行:MySQLd-nt --skip-grant-tables

另外打開一個命令行窗口,執行MySQL

 

>use MySQL
>update user set password=passWord("new_pass") where user="root";
>flush privileges;
>exit

 

用Ctrl+Alt+Del,找到mysqld-nt的進程殺掉它,在重新啟動MySQL-nt服務,就可以用新密碼登錄了

 

在Linux下:

如果 MySQL 正在運行,首先殺之: killall -TERM MySQLd。

啟動 MySQL :bin/safe_MySQLd --skip-grant-tables &

就可以不需要密碼就進入 MySQL 了。

然後就是

>use MySQL

>update user set password=passWord("new_pass") where user="root";

>flush privileges;

重新殺 MySQL ,用正常方法啟動 MySQL 。

 

Q:為什麼出現如下的提示:

 

[root@0-8-2-df-fa-ee ~]# MySQL
ERROR 2002 (HY000): Can't connect 
to local MySQL Server through socket '/tmp/MySQL.sock'

注:也可能是其它路徑下的MySQL.sock

A:說明mysql服務沒有啟動,mysql.sock是MySQL服務啟動後啟動生成的文件,

一般先殺掉mysql服務:killall MySQL

然後,再根據自己的安裝情況啟動MySQL即可。比如,安裝的時候,用的是

./configure --prefix=/usr/local/MySQL的

用下面的命令啟動:

 

/usr/local/mysql/bin/mysqld_safe --user=MySQL &

 

之後再去執行

 

/usr/local/mysql/bin/MySQL -u root -p

登錄進入MySQL數據庫

如果還不行的話,一次執行下面的命令:

sync

reboot;重啟計算機,執行時請小心!!!

 

Q:為什麼出現下面的錯誤

 

#1251 - ClIEnt does not support authentication protocol 
requested by server; consider upgrading MySQL clIEnt

 

 

A:你使用的數據庫是4.1以上,用命令行連接MySQL數據庫後,執行下面的命令:

 

UPDATE MySQL.user SET password=OLD_PASSWORD("your_passWord") 
WHERE Host="your_host" AND User="your_username" ;

即可解決。

 

your_passWord:改成你連接數據庫的密碼,比如 123

your_host:改成你連接數據庫的主機,如果是本地的話,就是localhost

your_username:改成你連接數據庫的用戶,比如 root

 

Q:為什麼MySQL提示我:Data too long for column ……

A:首先確保你的數據大小符合你的字段大小。

再檢查你的數據庫編碼,數據庫的編碼是否與操作數據庫工具的編碼一致!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved