《Mysql實例mysql 重新建立索引的方法》要點:
本文介紹了Mysql實例mysql 重新建立索引的方法,希望對您有用。如果有疑問,可以聯系我們。
本節內容:
mysql索引重建辦法MYSQL實例
操作辦法:
./myisamchk? -r -q? 路徑/數據庫/表名MYSQL實例
例如:
?MYSQL實例
首先,登陸MYSQL實例
添加用戶并賦值所有權限包括遠程連接
?MYSQL實例
grant all privileges on *.* to "spider"@"192.168.40.%" identified by 'crawler' with grant option;
grant all privileges on *.* to "spider"@"%" identified by 'crawler' with grant option;? 長途權限
grant all privileges on *.* to "spider"@"localhost" identified by 'crawler' with grant option; 本機權限MYSQL實例
flush privileges;
?
Error Code : 1406
Data too long for column 'title' at row 1
?MYSQL實例
修改my.ini文件,將
?MYSQL實例
注釋掉,ok!
或者
解決方法:
在my.ini里找到
?MYSQL實例
把其中的
STRICT_TRANS_TABLES,
去掉,然后重啟mysql就ok了MYSQL實例
MySQL數據的導出和導入
?
導出要用到MySQL的mysqldump工具,基本用法是:
shell> mysqldump [OPTIONS] database [tables]
如果你不給定任何表,整個數據庫將被導出.
通過執行mysqldump --help,你能得到你mysqldump的版本支持的選項表.
注意,如果你運行mysqldump沒有--quick或--opt選項,mysqldump將在導出結果前裝載整個結果集到內存中,如果你正在導出一個大的數據庫,這將可能是一個問題.
mysqldump支持下列選項:
--add-locks
在每個表導出之前增加LOCK TABLES并且之后UNLOCK TABLE.(為了使得更快地插入到MySQL).
--add-drop-table
在每個create語句之前增加一個drop table.
--allow-keywords
允許創建是關鍵詞的列名字.這由表名前綴于每個列名做到.
-c, --complete-insert
使用完整的insert語句(用列名字).
-C, --compress
如果客戶和服務器均支持壓縮,壓縮兩者間所有的信息.
--delayed
用INSERT DELAYED命令插入行.
-e, --extended-insert
使用全新多行INSERT語法.(給出更緊縮并且更快的插入語句)
-#, --debug[=option_string]
跟蹤程序的使用(為了調試).
--help
顯示一條贊助消息并且退出.
--fields-terminated-by=...
--fields-enclosed-by=...
--fields-optionally-enclosed-by=...
--fields-escaped-by=...
--fields-terminated-by=...
這些選擇與-T選擇一起使用,并且有相應的LOAD DATA INFILE子句相同的含義.
LOAD DATA INFILE語法.
-F, --flush-logs
在開始導出前,洗掉在MySQL服務器中的日志文件.
-f, --force,
即使我們在一個表導出期間得到一個SQL錯誤,繼續.
-h, --host=..
從命名的主機上的MySQL服務器導出數據.缺省主機是localhost.
-l, --lock-tables.
為開始導出鎖定所有表.
-t, --no-create-info
不寫入表創建信息(CREATE TABLE語句)
-d, --no-data
不寫入表的任何行信息.如果你只想得到一個表的結構的導出,這是很有用的!
--opt
同--quick --add-drop-table --add-locks --extended-insert --lock-tables.
應該給你為讀入一個MySQL服務器的盡可能最快的導出.
-pyour_pass, --password[=your_pass]
與服務器連接時使用的口令.如果你不指定“=your_pass”部分,mysqldump需要來自終端的口令.
-P port_num, --port=port_num
與一臺主機連接時使用的TCP/IP端口號.(這用于連接到localhost以外的主機,因為它使用 Unix套接字.)
-q, --quick
不緩沖查詢,直接導出至stdout;使用mysql_use_result()做它.
-S /path/to/socket, --socket=/path/to/socket
與localhost連接時(它是缺省主機)使用的套接字文件.
-T, --tab=path-to-some-directory
對于每個給定的表,創建一個table_name.sql文件,它包含SQL CREATE 命令,和一個table_name.txt文件,它包含數據. 注意:這只有在mysqldump運行在mysqld守護進程運行的同一臺機器上的時候才工作..txt文件的格式根據--fields-xxx和--lines--xxx選項來定.
-u user_name, --user=user_name
與服務器連接時,MySQL使用的用戶名.缺省值是你的Unix登錄名.
-O var=option, --set-variable var=option設置一個變量的值.可能的變量被列在下面.
-v, --verbose
冗長模式.打印出程序所做的更多的信息.
-V, --version
打印版本信息并且退出.
-w, --where='where-condition'
只導出被選擇了的記錄;注意引號是強制的!
"--where=user='jimf'" "-wuserid>1" "-wuserid<1>
最常見的mysqldump使用可能制作整個數據庫的一個備份:
?MYSQL實例
但是它對用來自于一個數據庫的信息充實另外一個MySQL數據庫也是有用的:
?MYSQL實例
由于mysqldump導出的是完整的SQL語句,所以用mysql客戶法式很容易就能把數據導入了:
?MYSQL實例
有時因為掉電或者其他原因導致數據庫損壞,我們可以使用mysql自帶的mysqlcheck命令來快速修復所有的數據庫或者特定的數據庫;例如
檢查優化并修復所有的數據庫用:
# mysqlcheck -A -o -r -p
Enter password:
database1 OK
database2 OK
----------
修復指定的數據庫用
# mysqlcheck -A -o -r Database_NAME -p
即可
另外如果只是對某個表進行修復可以用:myisamchk或isamchk
其中myisamchk適用于MYISAM類型的數據表,而isamchk適用于ISAM類型的數據表.這兩條命令的主要參數相同,一般新的系統都使用MYISAM作為缺省的數據表類型,這里以myisamchk為例子進行說明.當發現某個數據表出現問題時可以使用:
myisamchk tablename.MYI
進行檢測,如果需要修復的話,可以使用:
myisamchk -of tablename.MYI
關于myisamchk的詳細參數說明,可以參見它的使用幫助.需要注意的時在進行修改時必須確保MySQL服務器沒有拜訪這個數據表,保險的情況下是最好在進行檢測時把MySQL服務器Shutdown掉.
另外可以把下面的命令放在你的rc.local里面啟動MySQL服務器前:
[ -x /tmp/mysql.sock ] && /pathtochk/myisamchk -of /DATA_DIR/*/*.MYI
其中的/tmp/mysql.sock是MySQL監聽的Sock文件位置,對于使用RPM安裝的用戶應該是/var/lib/mysql/mysql.sock,對于使用源碼安裝則是/tmp/mysql.sock可以根據自己的實際情況進行變更,而pathtochk則是myisamchk所在的位置,DATA_DIR是你的MySQL數據庫存放的位置. <!---->
?
檢查表:
?MYSQL實例
修復表:
?MYSQL實例
mysql索引管理 mysql創立索引
mysql索引的建立原則
mysql索引類型有哪些
mysql索引創立與管理筆記
mysql索引創立、刪除與查看
mysql索引的建立規則
如何創立mysql索引
mysql索引的類型與優缺點
mysql索引優化注意問題
mysql索引優化提升數據庫性能
mysql索引優化應用實例
Mysql索引分類與優化
深入理解MySQL索引與優化
mysql索引優化實例分享MYSQL實例
維易PHP培訓學院每天發布《Mysql實例mysql 重新建立索引的方法》等實戰技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養人才。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/7447.html