您好,登錄后才能下訂單哦!
在Linux中安裝mysql時/etc下沒有my.cnf如何解決?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
其實我們只需要修改/etc/mysql/mysql.conf.d就可以了。
補充:mysql啟動時,提示/etc/my.cnf 被忽略的問題處理
今天在處理測試開發人員的問題是,發現一個MySQL實例啟動故障,處理過程如下:
發現mysql實例是關閉的,執行命令啟動mysql實例時有警告:
# service mysql.server start Warning: World-writable config file '/etc/my.cnf' is ignored Starting MySQL SUCCESS!
觀察mysql的啟動日志,在日志中顯示:
151014 11:39:24 mysqld_safe Starting mysqld daemon with databases from /data/mysql/data Warning: World-writable config file '/etc/my.cnf' is ignored
大概意思是權限全局可寫,任何一個用戶都可以寫。mysql擔心這種文件被其他用戶惡意修改,所以忽略掉這個配置文件。這樣mysql無法關閉。
此時查詢MySQL數據庫中的配置,發現一些my.cnf配置的參數,在mysql實例中并沒有生效。
這個是因為 /etc/my.cnf 也被修改為 777權限了:
# ls -la /etc/my.cnf -rwxrwxrwx 1 root root 1120 Jul 31 10:28 /etc/my.cnf
/etc/my.cnf 權限過大,會影響實例不能啟動,或者不能關閉,需要修改為 644.操作如下:
# ls -la /etc/my.cnf -rwxrwxrwx 1 root root 1120 Jul 31 10:28 /etc/my.cnf # # # chmod 644 /etc/my.cnf # # ls -la /etc/my.cnf -rw-r--r-- 1 root root 1120 Jul 31 10:28 /etc/my.cnf #
確認一下 /etc/my.cnf ,重啟實例:
151014 14:05:54 mysqld_safe mysqld from pid file /data/mysql/data/yq-xg-dev122.pid ended 151014 14:06:08 mysqld_safe Starting mysqld daemon with databases from /data/mysql/data 151014 14:06:08 [Note] Plugin 'FEDERATED' is disabled. 151014 14:06:08 InnoDB: The InnoDB memory heap is disabled 151014 14:06:08 InnoDB: Mutexes and rw_locks use GCC atomic builtins 151014 14:06:08 InnoDB: Compressed tables use zlib 1.2.3 151014 14:06:08 InnoDB: Using Linux native AIO 151014 14:06:08 InnoDB: Initializing buffer pool, size = 128.0M 151014 14:06:08 InnoDB: Completed initialization of buffer pool 151014 14:06:08 InnoDB: highest supported file format is Barracuda. 151014 14:06:08 InnoDB: Waiting for the background threads to start 151014 14:06:09 InnoDB: 1.1.8 started; log sequence number 18872844901 151014 14:06:09 [Warning] 'proxies_priv' entry '@ root@xinge122' ignored in --skip-name-resolve mode. 151014 14:06:09 [Note] Event Scheduler: Loaded 0 events 151014 14:06:09 [Note] /usr/local/mysql/bin/mysqld: ready for connections. Version: '5.5.19-log' socket: '/tmp/mysql.sock' port: 3306 MySQL Community Server (GPL)
可以看到將 /etc/my.cnf 權限修改正常后,MySQL實例就可以正常啟動了。
修改Linux操作系統根目錄下目錄和文件的權限是非常危險的;
比如修改了 /etc/ssh 目錄的權限,ssh就無法使用了;如果是 /etc/security 或者 /etc/init.d/sshd 文件被修改了,則root用戶就無法登錄到系統了;
所以必須注意系統權限,尤其是 /etc/ 目錄下的文件權限,不能隨便修改。
不論是開發,還是運維都是需要規范化,盡量避免都以root用戶直接操作;對于軟件和應用程序的存放位置,也放在單獨規定的目錄中,使用各個應用單獨的用戶進行操作;
對于系統文件輕易不要修改,尤其不要隨便修改/etc/相關的系統文件,如果要修改,可以先測試,確認沒有問題后再進行修改。
看完上述內容,你們掌握在Linux中安裝mysql時/etc下沒有my.cnf如何解決的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。