1、檢視資料庫的版本資訊:
<code>MariaDB [(none)]> </code><code>select</code> <code>version();</code>
<code>+----------------+</code>
<code>| version() |</code>
<code>| 5.5.52-MariaDB |</code>
<code>1 row </code><code>in</code> <code>set</code> <code>(0.18 sec)</code>
2、删除多餘的賬号(除root和localhost的)
<code>MariaDB [(none)]> use mysql</code>
<code>MariaDB [mysql]> </code><code>select</code> <code>user,host from mysql.user;</code>
<code>+------+------------------------+</code>
<code>| user | host |</code>
<code>| root | 127.0.0.1 |</code>
<code>| root | ::1 |</code>
<code>| | localhost |</code>
<code>| root | localhost |</code>
<code>| | lvs-dr01.saltstack.com |</code>
<code>| root | lvs-dr01.saltstack.com |</code>
<code>6 rows </code><code>in</code> <code>set</code> <code>(0.03 sec)</code>
<code>MariaDB [mysql]> delete from mysql.user where (user,host) not </code><code>in</code> <code>(</code><code>select</code> <code>'root'</code><code>,</code><code>'localhost'</code><code>);</code>
<code>Query OK, 5 rows affected (0.05 sec)</code>
<code>+------+-----------+</code>
<code>| user | host |</code>
<code>| root | localhost |</code>
<code>1 row </code><code>in</code> <code>set</code> <code>(0.05 sec)</code>
3、修改mysql預設的mysql管理賬号
修改預設的mysql管理賬号(root改為mysql,并設定新密碼為redhat12345)
<code>MariaDB [mysql]> update user </code><code>set</code> <code>user=</code><code>"admin"</code> <code>where user=</code><code>"root"</code><code>;</code>
<code>MariaDB [mysql]> update mysql.user </code><code>set</code> <code>user=</code><code>'admin'</code><code>,password=password(</code><code>'redhat12345'</code><code>);</code>
<code>Query OK, 1 row affected (0.08 sec)</code>
<code>Rows matched: 1 Changed: 1 Warnings: 0</code>
<code>MariaDB [mysql]> flush privileges;</code>
<code>Query OK, 0 rows affected (0.03 sec)</code>
<code>[root@LVS-DR01 ~]</code><code># mysql -uadmin -p'redhat12345'</code>
<code>MariaDB [(none)]> user mysql;</code>
<code>MariaDB [mysql]> show tables;</code>
繼續查詢:
<code>+-------+-----------+</code>
<code>| user | host |</code>
<code>| admin | localhost |</code>
<code>1 row </code><code>in</code> <code>set</code> <code>(0.00 sec)</code>
4、删除test資料庫:
<code>MariaDB [mysql]> drop database </code><code>test</code><code>;</code>
<code>MariaDB [(none)]> show databases;</code>
<code>+--------------------+</code>
<code>| Database |</code>
<code>| information_schema |</code>
<code>| mysql |</code>
<code>| performance_schema |</code>
<code>3 rows </code><code>in</code> <code>set</code> <code>(0.06 sec)</code>
5、優化權限字典表mysql.db
如下所示:建立MySQL資料庫後,預設建立的test資料庫權限比較怪異,所有可連接配接的使用者都能夠擁有權限通路該庫,并操作其中的對象,Host為%,User為空,說明了不受限制,所有能連接配接到MySQL的使用者,全部擁有test及test開頭的資料庫的幾乎所有權限。
<code>MariaDB [mysql]> </code><code>select</code> <code>* from mysql.db where db like </code><code>'test%'</code> <code>\G</code>
<code>*************************** 1. row ***************************</code>
<code> </code><code>Host: %</code>
<code> </code><code>Db: </code><code>test</code>
<code> </code><code>User: </code>
<code> </code><code>Select_priv: Y</code>
<code> </code><code>Insert_priv: Y</code>
<code> </code><code>Update_priv: Y</code>
<code> </code><code>Delete_priv: Y</code>
<code> </code><code>Create_priv: Y</code>
<code> </code><code>Drop_priv: Y</code>
<code> </code><code>Grant_priv: N</code>
<code> </code><code>References_priv: Y</code>
<code> </code><code>Index_priv: Y</code>
<code> </code><code>Alter_priv: Y</code>
<code>Create_tmp_table_priv: Y</code>
<code> </code><code>Lock_tables_priv: Y</code>
<code> </code><code>Create_view_priv: Y</code>
<code> </code><code>Show_view_priv: Y</code>
<code> </code><code>Create_routine_priv: Y</code>
<code> </code><code>Alter_routine_priv: N</code>
<code> </code><code>Execute_priv: N</code>
<code> </code><code>Event_priv: Y</code>
<code> </code><code>Trigger_priv: Y</code>
<code>*************************** 2. row ***************************</code>
<code> </code><code>Db: </code><code>test</code><code>\_%</code>
<code>2 rows </code><code>in</code> <code>set</code> <code>(0.31 sec)</code>
<code>優化的操作:</code>
<code>MariaDB [mysql]> truncate table mysql.db;</code>
<code>Query OK, 0 rows affected (0.01 sec)</code>
<code>Empty </code><code>set</code> <code>(0.00 sec)</code>
6、如何優化/root/.mysql_history檔案
<code>[root@LVS-DR01 ~]</code><code># tail -20 ~/.mysql_history </code>
<code>flush privileges;</code>
<code>select</code> <code>user,host from mysql.user;</code>
<code>delete from mysql.user where user=</code><code>"'molewan1'@'10.10.10.%'"</code><code>;</code>
<code>delete from mysql.db where user=</code><code>'molewan1'</code><code>@</code><code>'10.10.10.%'</code><code>;</code>
<code>delete from mysql.user where user=molewan1;</code>
<code>delete from mysql.user where user=</code><code>'[email protected].%'</code><code>;</code>
<code>delete from mysql.user where user=</code><code>"molewan1"</code> <code>and host =</code><code>"10.10.10.%"</code><code>;</code>
<code>delete from mysql.user where user=</code><code>"molewan"</code> <code>and host=</code><code>"10.10.10.%"</code><code>;</code>
<code>create user molewan@</code><code>'10.10.10.%'</code> <code>identified by </code><code>'molewan'</code><code>;</code>
<code>desc mysql.user;</code>
<code>update mysql.user </code><code>set</code> <code>password=password(</code><code>'admin'</code><code>) where user=</code><code>'admin'</code> <code>and host=</code><code>'localhost'</code><code>;</code>
<code>\q</code>
說明:在Linux/Unix系統下,使用mysql指令行工具執行的所有操作,都會被記錄到一個名為.mysql_history的檔案中,該檔案預設儲存在目前使用者的根目錄下
這個設定原本是為了提升mysql指令行操作體驗,在mysql中操作指令就可以上下翻動了,但某些情況下缺會造成隐患。
如何消除隐患:
<code>方法1:基于DB層的操作</code>
<code>修改MYSQL_HISTFILE環境變量,将其值改為</code><code>/dev/null</code><code>,這樣所有的操作都會被輸出到空,操作的曆史</code>
<code>自然不會被保留。</code>
<code>方法2:基于系統層操作</code>
<code>仍舊保留這個檔案,但是改檔案實際上未</code><code>/dev/null</code><code>的軟連結,這樣所有的操作都會被輸出到空,操作的曆史自然不會被保留。</code>
<code>ln</code> <code>-f -s </code><code>/dev/null</code> <code>~/.mysql_history</code>
<code>這時候就沒有輸出了</code>
到此,安裝完成後的基本優化已經完成
本文轉自 冰凍vs西瓜 51CTO部落格,原文連結:http://blog.51cto.com/molewan/1940496,如需轉載請自行聯系原作者