工具:navicat for MySQL
目前創(chuàng)新互聯(lián)已為近千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、網(wǎng)站托管、服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、城中網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
步驟:
1、打開navicat for MySQL,連接到數(shù)據(jù)庫所在服務(wù)器。如本圖就是連接到本地?cái)?shù)據(jù)庫。
2、創(chuàng)建一個(gè)空的數(shù)據(jù)庫。在localhost處點(diǎn)右鍵,選擇“新建數(shù)據(jù)庫”,彈出窗口中填寫新建的數(shù)據(jù)庫名稱,字符集一般選擇UTF8即可(可根據(jù)實(shí)際情況更改),最后點(diǎn)擊確定按鈕,即可創(chuàng)建成功。
3、創(chuàng)建成功后,雙擊新建的數(shù)據(jù)庫,使之變成綠色,即連接狀態(tài)。
4、在badkano_test處點(diǎn)擊鼠標(biāo)右鍵,選擇“運(yùn)行sql文件”。
5、彈出窗口點(diǎn)“...”然后選擇要導(dǎo)入的sql文件,點(diǎn)擊打開。
6、最后點(diǎn)“開始”按鈕,等待導(dǎo)入步驟執(zhí)行完成即可。
方法/步驟
1
登錄到phpMyAdmin
2
新建一個(gè)要導(dǎo)入的數(shù)據(jù)庫,點(diǎn)擊“+new”
3
如圖,分別填寫數(shù)據(jù)庫名稱,以及選擇數(shù)據(jù)庫的排序規(guī)則,
4
完成步驟3,點(diǎn)擊“創(chuàng)建”
5
完成步驟4,從右側(cè)就可以看到我們新創(chuàng)建的數(shù)據(jù)庫了,如果沒有立即顯示,刷新即可立馬顯示了。
6
單擊我們新創(chuàng)建的數(shù)據(jù)庫,
7
然后,我們選擇“導(dǎo)入”,
8
完成步驟7,我們點(diǎn)擊“選擇文件”,
9
點(diǎn)擊了“選擇文件”之后,就會(huì)出現(xiàn)如圖所示的彈出框,我們選擇要導(dǎo)入的sql就可以了,后綴名可以是.sql,也可以是壓縮文件.zip。如圖,選擇好文件之后,點(diǎn)擊“確定”就可以了
10
完成步驟⑨,你就可以從剛才的頁面中看到自己上傳的文件了,如圖所示,其余選項(xiàng)默認(rèn)就可以了,然后點(diǎn)擊“執(zhí)行”就可以了。
11
這個(gè)時(shí)候,你就可以看到你的數(shù)據(jù)已經(jīng)導(dǎo)入到你新創(chuàng)建的數(shù)據(jù)庫中了
mysql命令行:
load data infile 'CSV文件存放路徑'
into table 表名
fields terminated by ',' optionally enclosed by '"' escaped by '"'
lines terminated by '\r\n';
或者下載個(gè)sqlyog之類的可以直接導(dǎo)
或者打開csv文件 用excel內(nèi)置函數(shù)拼接 insert into 語句
非root用戶運(yùn)行MySQL,當(dāng)MySQL配置比較高時(shí),MySQL運(yùn)行中生效的參數(shù)值與配置的值不一樣,所以具體分析一下MySQL是怎么調(diào)整這些參數(shù)值的。?這篇文章的目的是為了說明在系統(tǒng)資源不夠的情況下,MySQL 是怎么調(diào)整者三個(gè)參數(shù)的。說明此文涉及到三個(gè)參數(shù)open_files_limit、?max_connections、?table_open_cache。與這三個(gè)參數(shù)相關(guān)的系統(tǒng)資源是打開文件數(shù)限制,即文件描述符(fd)限制。系統(tǒng)參數(shù)與文件描述符的關(guān)系?-?max_connection??fd?: 每一個(gè)MySQL connection ? ? ?都需要一個(gè)文件描述符;-?table_open_cache??fd?打開一張表至少需要一個(gè) ? ? ?文件描述符,如打開MyISAM需要兩個(gè)fd?;- 系統(tǒng)最大打開文件數(shù)可以通過?ulimit -n查看。MySQL調(diào)整參數(shù)的方式
根據(jù)配置(三個(gè)參數(shù)的配置值或默認(rèn)值)計(jì)算?request_open_files(需要的文件描述符);
2.獲取有效的系統(tǒng)的限制值effective_open_files;? 3.根據(jù)effective_open_files調(diào)整request_open_files;? 4.根據(jù)調(diào)整后的request_open_files,計(jì)算實(shí)際生效的參數(shù)值(show variables?可查看參數(shù)值)。計(jì)算request_open_filesrequest_open_files有三個(gè)計(jì)算公式:1. ??? ?// 最大連接數(shù)+同時(shí)打開的表的最大數(shù)量+其他(各種日志等等)2. ? ? limit_1= max_connections+table_cache_size * 2 + 10;3.? ?4.???? ?//假設(shè)平均每個(gè)連接打開的表的數(shù)量(2-4)5. ? ? ?//源碼中是這么寫的:6. ? ? ?//We are trying to allocate no less than?7. ? ???// max_connections*5 file handles8. ? ? ?limit_2= max_connections * 5;9.? ?10. ? ?//mysql 默認(rèn)的默認(rèn)是500011. ? ?limit_3= open_files_limit ? open_files_limit : 5000;12. ?13. ? ? 所以open_files_limit期待的最低14. ? ? request_open_files= max(limit_1,limit_2,limit_3);計(jì)算effective_open_files:MySQL 的思路:
在有限值的的范圍內(nèi)MySQL?盡量將effective_open_files的值設(shè)大。
修正request_open_files
requested_open_files= min(effective_open_files,?request_open_files)
重新計(jì)算參數(shù)值
修正open_files_limit
open_files_limit?=?effective_open_files
修正max_connections
max_connections?根據(jù)?request_open_files?來做修正。1.? limit = requested_open_files - 10 - TABLE_OPEN_CACHE_MIN * 2;
如果配置的max_connections值大于limit,則將max_connections?的值修正為limit
其他情況下?max_connections?保留配置值
修正table_cache_size
table_cache_size?會(huì)根據(jù)?request_open_files?來做修正1. ??// mysql table_cache_size 最小值,4002. ? limit1 = TABLE_OPEN_CACHE_MIN3. ??// 根據(jù) requested_open_files 計(jì)算4. ? limit2 = (requested_open_files - 10 - max_connections) / 25. ? limit = max(limit1,limt2);
如果配置的table_cache_size?值大于limit,則將?table_cache_size?的值修正為limit
其他情況下table_cache_size?保留配置值
舉例
以下用例在非 root 用戶下運(yùn)行
參數(shù)設(shè)置:
//mysql
max_connections = 500
table_open_cache = 999
//ulimit -n
1500
生效的值:
open_files_limit = 1500? ?max_connections = min[(1500 - 10 - 800),500] = 500
table_open_cache = ( 1500 - 10 - 500) / 2 =495