MySQL5入門知識

風月無邊發表於2006-06-24
本資料內容來自與MYSQL.CN論壇,謝謝那些默默做出貢獻的朋友!

一、        關於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
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:如何啟動和關閉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_center、SQLyog、phpMyAdmin、Mysql Query Browser,Mysql Administrator等好多的,
mysql_centerd在本站的下載地址:http://bbs.mysql.cn/thread-517-1-1.html
SQLyog去網上搜尋,很多的,SQLyog407版本不錯。
phpMyAdmin下載地址:http://download.mysql.cn/opencode/2006/0207/55.html
其它的我就不一一提供下載地址,自己到網上搜尋下載。

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進行配置以生成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前面的;(分號)是否去掉了,如果沒有去掉請去掉,然後,將libmysql.dll放在安裝php的根目錄一般為C:/php ,同時也在 C:/windows 下也放各一個,之後重新啟動IIS或者是APACHE。有的時候總是重新整理一頁,即使去掉分號也還是不能載入mysql擴充套件,最後新開啟一個視窗,再試。

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` (2)
注:也可能是其它路徑下的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資料庫

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:首先確保你的資料大小符合你的欄位大小。
再檢查你的資料庫編碼,資料庫的編碼是否與運算元據庫工具的編碼一致!



相關文章