2013-04-29

CentOS 6.4 (64位元) 安裝 MySQL

利用線上更新的方式安裝 mysql 跟 mysql-server 兩個套件
yum install mysql mysql-server -y


接著將 MySQL 的服務啟動,同時設為開機啟動
service mysqld start
chkconfig mysqld on

此時會跳出一串訊息,告知要新增 root 使用者的密碼,使用指令
/usr/bin/mysqladmin -u root -p '新密碼'
或者透過安全性安裝來設定
/usr/bin/mysql_secure_installation
若使用第二者,會依序會進行的步驟為:
  1. 設定 root 使用者帳號的密碼
  2. 刪除匿名使用者帳戶
  3. 不允許 root 帳戶遠端登入
  4. 移除 test 資料庫
  5. 重載權限表,確保以上變更立即有效
以下為使用安全性安裝的方式來設定
輸入指令,首先會要求輸入 root 使用者目前的密碼,預設沒有密碼,按 Enter 鍵繼續

接著會詢問是否要建立 root 使用者密碼,輸入 Y ,按 Enter 鍵繼續

輸入兩次 root 使用者帳戶的新密碼

接著會詢問是否要刪除匿名使用者帳戶

是否不允許 root 遠端登入

是否刪除 test 資料庫

重載權限表,確保以上變更能立即有效

以上的設定,也都可以自己手動來進行,接著使用 root 登入 mysql,指令格式如下
mysql [-h 伺服器名稱] [-u 使用者名稱] [-p]
-h:要登入的主機名稱
-u:要登入的帳號
-p:以密碼的方式登入

這次是在本機,同時本機登入的使用者名稱為 root,因此登入的指令可以省略為
mysql -p
*若現在是使用遠端軟體如 PieTTY 會沒有辦法遠端登入,請到本機操作

馬上就來創建一個可以遠端登入的帳號吧!首先列出目前全部的授權帳號
select host,user from mysql.user;
*記得指令最後要有『;』

目前只有 root 這個帳號,而且只授權本機登入

接下來授權一個可以本機跟遠端登入的帳號
grant all privileges on *.* to wen@localhost identified by 'sn123456';
//本機端
grant all privileges on *.* to wen@192.168.2.101 identified by 'sn123456';
//遠端
grant:授權
all privileges:所有權限
*.*:所有資料庫資料表
wen:帳號名稱
192.168.2.101:遠端連線IP位址
sn123456:帳號密碼

接著在查詢一次目前使用者的授權狀況,成功新增一個遠端跟本機登入管理權限的帳號

馬上用遠端登入軟體登入看看!成功遠端登入!

刪除使用者所有受權並移除使用者,首先移除授權
revoke all privileges on *.* from wen@localhost;
//移除本機登入管理權限
revoke all privileges on *.* from wen@192.168.2.101;
//移除遠端登入管理權限
delete from mysql.user where user='wen';
//刪除使用者
flush privileges;
//更新資料庫權限

再查一次授權狀況,成功移除 wen 的使用者權限並刪除帳號

離開 mysql 指令
quit
//或 exit

2 則留言 :

  1. 請問若在設MYSQL ROOT密碼後想改密碼 要怎樣打指令呢? 例如從 123456 改成 7891011 感謝

    回覆刪除
  2. 以系統管理者登入MYSQL後,輸入以下指令
    mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('新密碼');
    mysql> FLUSH PRIVILEGES;

    修改完成後,下次登入MYSQL需要使用以下指令登入
    mysql -p -u root

    回覆刪除