INSERT INTO mysql.user(Host, User, Password) VALUES('localhost', 'cplusplus', PASSWORD('cplusplus.me'));
FLUSH PRIVILEGES;
CREATE USER 'cplusplus'@'localhost' IDENTIFIED BY 'cplusplus.me';
mysql -u cplusplus -p # 輸入密碼 → 登錄成功
GRANT ALL PRIVILEGES ON *.* TO 'cplusplus'@'localhost' IDENTIFIED BY 'cplusplus.me' WITH GRANT OPTION; FLUSH PRIVILEGES;
CREATE DATABASE cplusplusDB; GRANT ALL PRIVILEGES ON cplusplusDB.* TO 'cplusplus'@'localhost' IDENTIFIED BY 'cplusplus.me'; FLUSH PRIVILEGES;
GRANT SELECT, UPDATE ON cplusplusDB.* TO 'cplusplus'@'localhost' IDENTIFIED BY 'cplusplus.me'; FLUSH PRIVILEGES;
常用權限:SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, INDEX, REFERENCES
SHOW GRANTS FOR 'cplusplus'@'localhost';
REVOKE CREATE ON *.* FROM 'cplusplus'@'localhost'; FLUSH PRIVILEGES;
DROP USER 'cplusplus'@'localhost';
DROP DATABASE cplusplusDB;
USE mysql;
# 5.7 前
UPDATE user SET Password=PASSWORD('new_pass') WHERE User='cplusplus' AND Host='localhost';
# 5.7+ (authentication_string 字段)
UPDATE user SET authentication_string=PASSWORD('new_pass') WHERE User='cplusplus' AND Host='localhost';
FLUSH PRIVILEGES;
SET PASSWORD FOR 'cplusplus'@'localhost' = PASSWORD('new_pass');
mysqladmin -u cplusplus -p'old_pass' password 'new_pass'
my.cnf,[mysqld] 下添加 skip-grant-tablessystemctl restart mysqldmysql -u rootskip-grant-tables,重啟服務sql_mode 包含 STRICT_TRANS_TABLES 導致,改為 sql_mode=NO_ENGINE_SUBSTITUTION 重啟'user'@'%' ≠ 'user'@'localhost',需分別授權FLUSH PRIVILEGES 或重新連接方可生效