解決mysql沒有my.cnf配置文件及修改mysql默認存儲空間(最簡單配置)


 

    安裝了mysql卻沒有my.cnf配置文件是個很多新手都會遇到的問題。想必很多新手都經歷到過這樣的情景:准備修改mysql存儲空間(datadir)等情況時,按着網上的教學去做,突然發現居然沒有my.cnf;轉而搜索“mysql沒有my.cnf怎么辦”,mysql如何添加my.cnf"。。。但是網絡上的相關搜索中充斥着大量不同的信息(因為每個人遇到的情況都不一樣),且有一些寫的很模糊的文章又被垃圾網站運用爬蟲瘋狂轉載......大部分新手遇到的問題就是my.cnf到底要怎么配置,網上搜索出來的配置詳解大多比較復雜;其實,對於my.cnf新手僅需配置最基本的幾個信息就夠了(當然能參照文檔將my.cnf配置詳細了解肯定是最好的,新手可以慢慢來)。筆者提供了一種簡單的my.cnf配置方案,可以供新手們參考:

  1.運行 mysql --help | grep my.cnf 查看my.cnf配置位置的讀取順序。/etc/my.cnf不存在,則我們需要在etc下創建my.cnf配置文件(mysql會優先度讀取)。

    2.去/usr/share/mysql里將my-default.cnf文件copy到第一步查到的路徑里,命名為my.cnf。my-default.cnf可以作為我們的模板,這個文件里的參數比較少且都比較好理解。

    3.進入數據庫mysql -u root -p,運用命令對my-default.cnf中注釋掉的幾個最基本參數進行查詢並填充回去:如show variables like '%basedir%'; 可以查到目前mysql的basedir信息,然后我們將my.cnf中注釋掉的basedir填為查詢到的數值。筆者是僅填寫了以下幾個參數(basedir、datadir、port、socket):

注意這些參數一定要根據用戶自己的實際情況來填寫(按照本步驟說的方法從數據庫里查詢得到)

4. 新增client參數,避免本地訪問出現錯誤:

 

 

 本人在新增my.cnf文件同時,修改了mysql默認存儲空間(datadir),故對應的datadir和在原來datadir路徑下的socket需要更新為修改后的路徑(比如你將原始的datadir:/var/lib/mysql copy到 /opt/mysql,則/opt/mysql則為修改后的路徑)。這邊要求新增client參數就是避免在本地登錄mysql時,mysql依舊去讀舊的sock(/var/lib/mysql/mysql.sock),則會出現無法登錄的情況。

5.重啟mysql service mysql restart 然后再用命令show variables like '%datadir%'; 去查修改后的參數(如port、datadir等),如果修改成功就ok了

好吧!因為快下班了,周末即將到來!本文寫的也非常非常簡陋含糊!有空再補充!希望本文能給新手們一點參考,有疑問的可以留言大家一起探討學習!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM