sudo apt-get update
sudo apt install mysql-server
裝完後可以用以下指令查看狀態
sudo service mysql status
然後執行
sudo mysql_secure_installation
它會問幾個問題
1. would you like to setup validate password component?
2. remove anonymous users?
3. disallow root login remotely?
4. remove test database and access to it?
照直覺選一選就好
查看 mysql 版本
sudo mysqladmin -p -u root version
查看本地 ip
hostname -I
登入 mysql
sudo mysql -u root -p
預設密碼是空的,所以直接按 enter 就可以
進入 mysql 後
列出所有 database
mysql> show databases;
查詢使用者
mysql> SELECT user FROM mysql.user;
上面這個寫法是去 mysql 這個 database 的 user table 撈 user 欄位
所以也可以先
mysql> USE mysql
然後就可以寫成
mysql> Select user FROM user;
如果想查詢這個 database 有哪些 table 可以用下列指令
mysql> show full tables;
mysql> show tables;
開一個新的 database
mysql> CREATE DATABASE ooxx;
開一個新的 user,這裡示範的 user 叫 mike,而密碼就是 password
mysql> CREATE USER 'mike'@'localhost' IDENTIFIED BY 'password';
如果這個 user 會遠端登入的話,可以寫成下面這樣
mysql> CREATE USER 'mike'@'%' IDENTIFIED BY 'password';
如果出現下面這個 error 表示你的密碼不符合規範
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
可以使用下面這列來看目前的密碼規範
mysql> SHOW VARIABLES LIKE 'validate_password%';
就我自己來說,我改了下面兩列
mysql> SET GLOBAL validate_password.length = 4;
mysql> SET GLOBAL validate_password.policy=LOW;
然後可以修改使用者密碼如下列
mysql> ALTER USER 'mike'@'%' IDENTIFIED BY 'pass';
如果要把剛才開的 database ooxx的權限給 mike 的話
mysql> GRANT ALL PRIVILEGES ON ooxx.* TO 'mike'@'%';
或著當初開 database 時就是用 mike 的身分去開的話,就會自動給權限
最後別忘了
mysql> FLUSH PRIVILEGES;
下次要使用 mike 登入時就可以使用下列指令
sudo mysql -u mike -p
然後它會問你密碼你再輸入 pass (剛才 mike 的密碼已經改成 pass)
或是可以直接輸入
sudo mysql -u mike -ppass
注意最後 -ppass 沒有空格,而且會跳出警告建議你不要直接打出密碼
這篇大概就這樣