1、問題:
使用MySQL數據庫的時候,當生成大量的表,並插入大量的記錄的時候,/usr/local/MySQL/data目錄下生
成了一些日志文件,如:localhost-bin.001,localhost-bin.002 ……,這些文件非常大,占用了好幾個G
的空間,很快我的空間都沒有了,請問如何控制,不寫這些日志呢?我看了日志文件內容,裡面都是一些
sql語句,如:insert....,update......
答:可以刪除。不是錯誤日志,是用來增量備份的,用於多台MySQL之間的同步。
要去掉的話,編輯my.cnf文件,注釋掉log-bin=mysql-bin,重啟MySQL。
或FLUSH Logs
2、問題:如何將MySQL的data目錄放在別的地方?
停止MySQL,拷貝文件到你想要的位置;
打開my.cnf文件,編輯裡面的datadir;
啟動MySQL
3、備份與恢復
常規備份命令是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
4、啟動
自動:將/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
5、如果我忘記了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 。
6、為什麼出現如下的提示:
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數據庫
7、為什麼出現下面的錯誤
#1251 - ClIEnt does not support authentication protocol requested by server; consider
upgrading MySQL clIEnt
你使用的數據庫是4.1以上,用命令行連接MySQL數據庫後,執行下面的命令:
Update MySQL.user SET password=OLD_PASSWORD("your_passWord") Where Host="your_host" AND
User="your_username" ;
即可解決。