亞寵展、全球寵物產業風向標——亞洲寵物展覽會深度解析
987
2022-05-28
1.使用工具Navicat Preminu 12導入百萬數據級別的數據到MySql數據庫
1.1 通過excel導入
首先進入Navicat Preminu 12后選擇要導入的表,右鍵會有導入向導這一項,選擇導入向導,再選擇需要導入的類型,然后加載要導入的文件,配置對應字段名稱、導入的范圍、時間格式、插入的策略(追加、更新、追加和更新、刪除、復制)等等,最后點擊開始就可以愉快的開始導入了。當全部成功后會返回Processed總的條目數,Added新增的條目數,Updated更新的條目數,Deleted刪除的條目數,以及Errors錯誤的條目數。如果有不成功的條目會在上面出現該條目的信息(當然希望大家一次都全部成功了,Finished successfully!)
2.導入過程遇到的坑
2.1 自動生成uuid
參考
通過下面的公式可以在excel中生成uuid,但是生成的uuid會出現很多的#NUM!,這個情況還有待研究,不知道是公式的問題還是,因為excel的格式問題,反正在使用的這個公式生成uuid的時候一定要注意這一點,當大批量生成uuid,需要檢查一下有沒有#NUM!這種沒有生成成功的情況,然后將這些沒有成功的uuid人工處理一下,都是淚啊。。。處理辦法可以將值復制,然后粘貼成數值,將#NUM!全部替換為先的公式,如此反復只到查不出#NUM!這個為止。。。
=LOWER(CONCATENATE(DEC2HEX(RANDBETWEEN(0,POWER(16,8)),8),"",DEC2HEX(RANDBETWEEN(0,POWER(16,4)),4),"","4",DEC2HEX(RANDBETWEEN(0,POWER(16,3)),3),"",DEC2HEX(RANDBETWEEN(8,11)),DEC2HEX(RANDBETWEEN(0,POWER(16,3)),3),"",DEC2HEX(RANDBETWEEN(0,POWER(16,8)),8),DEC2HEX(RANDBETWEEN(0,POWER(16,4)),4)))
2.2 磁盤已滿
但導入的過程中出現了磁盤滿了。。。滿了。。。這時候發現部署的mysql給的磁盤空間已經沒有了。。。坑啊。。。只能挪個地方了,那么開始挪mysql。。。
2.2.1 首先是一波查詢的指令:
df -hl:查看磁盤剩余空間
df -h:查看每個根路徑的分區大小
du -sh [目錄名]:返回該目錄的大小
du -sm [文件夾]:返回該文件夾總M數
du -h [目錄名]:查看指定文件夾下的所有文件大小(包含子文件夾)
2.2.2 將mysql整個文件夾通過cp指令,拷貝到需要拷貝的地方,并且賦對應的權限
查詢權限的指令是:ls -l
賦權限的指令的是:chmod -R 777 文件名稱(此為最大權限啥權限都有。。。)
2.2.3 修改my.conf配置文件將文件中的datadir的路徑、log-error的路徑、pid-file的路徑修改為現在拷貝好的地方
2.2.4 這里要注意如果挪的地方賦權限給了外面一層文件夾,有可能里面的mysql文件夾沒有被賦上權限,所以還需要再對挪來的mysql文件夾再賦一次權限
2.2.5 重啟mysql,使用 service 啟動指令是?:service mysqld restart
2.2.6 如果在挪的時候你在使用數據庫工具,一定記得在重啟挪好的mysql服務之后,重啟一下數據庫工具,重啟解百毒。。。多么痛的領悟。。。
MySQL 數據庫
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。