使用root用户登录MySQL命令行(需输入root密码):
mysql -u root -p
通过CREATE USER语句创建用户,格式为'用户名'@'主机'(localhost仅本地连接,%允许远程连接):
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'your_password';
-- 允许远程连接的示例
CREATE USER 'newuser'@'%' IDENTIFIED BY 'your_password';
使用GRANT语句为用户分配权限,常见场景如下:
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON mydatabase.* TO 'newuser'@'localhost';
GRANT SELECT, INSERT, UPDATE ON mydatabase.mytable TO 'newuser'@'localhost';
执行FLUSH PRIVILEGES使权限变更立即生效:
FLUSH PRIVILEGES;
使用SHOW GRANTS语句查看用户的权限详情:
SHOW GRANTS FOR 'newuser'@'localhost';
-- 查看当前登录用户的权限
SHOW GRANTS;
使用REVOKE语句撤销用户的特定权限(格式与GRANT相反):
REVOKE SELECT ON mydatabase.* FROM 'newuser'@'localhost';
-- 撤销所有权限
REVOKE ALL PRIVILEGES ON mydatabase.* FROM 'newuser'@'localhost';
使用DROP USER语句删除用户(会同时删除其所有权限):
DROP USER 'newuser'@'localhost';
sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp
sudo firewall-cmd --reload
sudo setsebool -P mysql_connect_any 1
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_root_password';
SELECT、INSERT权限,无需DROP权限)。host为具体IP地址(如192.168.1.100),而非%,以提高安全性。SHOW GRANTS检查用户权限,避免权限泄露。