一:關于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_machinesystemcurrentcontrolsetservices中刪除對應服務并重啟計算機。
關閉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目錄和phpext下有沒有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:phpext中的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:為什么出現如下的提示:
[[email protected] ~]# 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 clienta:你使用的數據庫是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:首先確保你的數據大小符合你的字段大小。
再檢查你的數據庫編碼,數據庫的編碼是否與操作數據庫工具的編碼一致!
新聞熱點
疑難解答