玩mysql必須懂的10個 tips

一:啓動和關閉mysql

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


二:添加用戶並設置權限
更新密碼

UPDATE user SET Password=PASSWORD('new_password')
WHERE user='root';

新建用戶並賦予權限

GRANT ALL PRIVILEGES ON *.* TO monty@localhost
IDENTIFIED BY 'something' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO monty@"%"
IDENTIFIED BY 'something' WITH GRANT OPTION;
GRANT RELOAD,PROCESS ON *.* TO admin@localhost;
GRANT USAGE ON *.* TO dummy@localhost;


FLUSH PRIVILEGES;

三:添加刪除庫

CREATE DATABASE db_name

DROP DATABASE [IF EXISTS] db_name

 

同時可以通過下面代碼加默認字符集和默認排序方法。

DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;

四:備份和還原

常規備份命令是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

五:維護和修復表

myisamchk /path/to/datadir/*/*.MYI

myisamchk -r /path/to/datadir/*/*.MYI

六:丟失密碼

前提必須先kill掉mysqld的進程。
然後用一下命令啓動mysqld

linux: .mysqld_safe --skip-grant-tables &
windows: mysqld-nt --skip-grant-tables

然後不用密碼直接進入mysql,用前面的方法添加或修改用戶密碼。

六:改變數據庫的字符集設置

如果MySQL數據庫已經安裝好,可以使用下列SQL命令查看MySQL當前的字符集設置:
mysql> SHOW VARIABLES LIKE 'character_set_%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
7 rows in set (0.00 sec)

mysql> SHOW VARIABLES LIKE 'collation_%';
+----------------------+-------------------+
| Variable_name | Value |
+----------------------+-------------------+
| collation_connection | latin1_swedish_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
+----------------------+-------------------+
3 rows in set (0.00 sec)

然後依次執行以下語句,然後重啓mysql server:

set  character_set_client  = gbk;
set  character_set_connection  gbk;
set  character_set_database  gbk;
set  character_set_results  gbk;
set  character_set_server  gbk;

set  character_set_system = gbk;
--此處utf-8也可以
--然後執行:
SET collation_server = gbk_chinese_ci ;
SET collation_database = gbk_chinese_ci ;
SET collation_connection = gbk_chinese_ci ;

 

還差四個,以後在補吧,不想濫竽充數


Technorati : Best Practices, mysql, tips

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章