通常安裝 MySQL Server 時,如使用包管理器(比如 ubuntu 的 apt-get),可在安裝過程中設(shè)置 MySQL 的 root 密碼。裝好后使用
mysql -u root -p命令登錄并管理數(shù)據(jù)庫。而使用其他方式安裝的 MySQL 數(shù)據(jù)庫(如 wamp )默認(rèn)設(shè)置了空的 root 密碼。可在需要的時候進(jìn)行修改。
一、SET PASSWORD
使用空密碼登錄 root 用戶并直接重新設(shè)置密碼
$ mysql -uroot -p
...
mysql> SET PASSWORD FOR root@localhost=PASSWORD('your password');
Query OK, 0 rows affected, 1 warning (0.02 sec)

SET PASSWORD
二、UPDATE mysql
使用空密碼登錄 root 用戶并更新 mysql 數(shù)據(jù)庫中的 user 表
$ mysql -uroot -p
...
mysql> UPDATE mysql.user SET authentication_string=PASSWORD('your password')
-> WHERE user='root' AND host='localhost';
Query OK, 0 rows affected, 1 warning (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 1
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)

UPDATE mysql.user
三、創(chuàng)建數(shù)據(jù)庫并授予權(quán)限
最基本的方法為:使用 root 賬號登錄并創(chuàng)建數(shù)據(jù)庫,再分配其權(quán)限給某個普通用戶,再將該數(shù)據(jù)庫與某個網(wǎng)絡(luò)應(yīng)用綁定。
CREATE DATABASE db_name
GRANT privileges ON db_name.tables TO user@domains IDENTIFIED BY 'user_pass'

CTEATE & GRANT

CREATE & GRANT
ALL 指代該數(shù)據(jù)庫的所有權(quán)限,'%' 表示允許該用戶從任意主機(jī)登錄(可修改為指定 IP 地址,默認(rèn)是 localhost)。
starky.* 表示該數(shù)據(jù)庫中的所有表格
附:ubuntu 16.04 取消 MySQL Server 的默認(rèn)自啟動
$ sudo systemctl disable mysql取消 mysql 開機(jī)自啟動
$ sudo systemctl start mysql 啟動 mysql 服務(wù)