一:啓動和關閉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 ;
還差四個,以後在補吧,不想濫竽充數