mysql基礎系列2 mysql安裝完成以後的任務

mysql安裝完成以後的任務

       mysql在Unix-like系統上安裝完成後,必須初始化授權表,啓動服務,確保它令人滿意地工作,並隨機器一起啓動和停止,並在授權表中分配賬號和密碼.

在Unix-like系統上,授權表由mysql_install_db程序設置,在許多安裝方式中如果數據庫不存在這個程序會自動執行.在linux 上以RPM方式安裝mysql , mysql_install_db程序會由服務器RPM自動執行

在其它的安裝方式中,包括generic binary and source installs 將手動運行mysql_install_db

# cd/usr/local/mysql/
#scripts/mysql_install_db --help   獲得mysql_install_db程序的幫助
#scripts/mysql_install_db--user=mysql --datadir=/mydata/data  --random-passwords

使用--random-passwords選擇後, 會爲root用戶分配一個隨機密碼並保存在/home/.mysql_secret文件中,使用這個root賬號隨機生成的密碼登錄數據庫後如果不重設密碼,就不能對數據庫進行任何操作, 這個選項還設置帳號的密碼過期flag, 刪除mysql匿名用戶.


使用mysqladmin管理mysql

mysql mysqladmin是mysql server 的客戶端工具

# mysqladmin  -u root password 'redhat' -p         修改root的密碼
# mysqladmin version      查看mysql 的版本  檢測mysql是否啓動,是否能響應連接
# mysqladmin -u root shutdown 是否可以關閉mysqlserver
# mysqld_safe --user=mysql &     校驗能不能再次重啓數據庫
# mysqlshow mysql 檢測是否可以從服務檢索信息
# mysql -e "SELECTHost,Db,User FROM db" mysql

mysql測試:

mysql源碼包中包含了基準測試套件可以在mysql-5.6.17/tests目錄中找到,以如下方式使用

# cd software/mysql-5.6.17
# mysql -vvf -uroot -p  test <./tests/auto_increment.tst

指派mysql用戶的密碼

查看受權表:

mysql> SELECT User, Host,Password FROM mysql.user;

修改root賬戶的密碼,可以使用的方法:

    使用set password語句

    使用updata 語句 

    使用mysqladmin 客戶端工具

set password語句的使用:

Syntax:

SET    PASSWORD [FOR user] =  { PASSWORD('cleartext password')

          |  OLD_PASSWORD('cleartext password')  |      'encrypted password' }

如:

# mysql -u root -p 
mysql> SET PASSWORD FOR 'root'@'localhost' =PASSWORD('newpwd');
mysql> SET PASSWORD FOR 'root'@'127.0.0.1' =PASSWORD('newpwd');
mysql> SET PASSWORD FOR 'root'@'::1' =PASSWORD('newpwd');
mysql> SET PASSWORD FOR 'root'@'host_name' =PASSWORD('newpwd');

也可以只使用update語句爲所有root用戶指派密碼:

在user表中直接使用UPDATE更新密碼後,必須讓服務器用FLUSH PRIVILEGES重新讀授權表。否則,重新啓動服務器前,不會使用更改。

Syntax:

UPDATE   [LOW_PRIORITY] [IGNORE] table_reference

    SET col_name1={expr1|DEFAULT} [,col_name2={expr2|DEFAULT}] ...[WHERE where_condition]

    [ORDER BY ...]   [LIMIT row_count]

如 : 

shell> mysql -u root
mysql> UPDATE mysql.user SET Password =PASSWORD('newpwd') WHERE User = 'root';
mysql> FLUSH PRIVILEGES;

FLUSH語句會導致mysql重讀授權表,使對root密碼的修改生效


使用mysqladmin修改mysql的用戶名和密碼:

# mysqladmin -u root -h host_name password  "newpwd

# mysqladmin -u root password "newpwd"
# mysqladmin -u root -p password "newpwd"

如果密碼不包含特殊字符 , "newpwd"上的引號可以省略

使用set  password語句修改匿名用戶的密碼:

shell> mysql -u root -p
Enter password: (enter root password here)
mysql> SET PASSWORD FOR ''@'localhost' =PASSWORD('newpwd');
mysql> SET PASSWORD FOR ''@'host_name' =PASSWORD('newpwd');

使用update 語句修改匿名用戶的密碼:

# mysql -u root -p
Enter password: (enter root password here)
mysql> UPDATE mysql.user SET Password =PASSWORD('newpwd')  WHERE User = '';
mysql> FLUSH PRIVILEGES;

刪除匿名用名:

# mysql -u root -pEnter password: (enter root password here)
mysql> DROP USER ''@'localhost';
mysql> DROP USER ''@'host_name';


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章