mysql DCL
登录数据库
在命令行登录数据库:
$ mysql -hHOST -uroot -pPASSWORD -PPORT
安装好mysql后首次登录没有密码,要给root用户添加密码:
$ mysqladmin -uroot password 123
$ mysqladmin -uroot -p123 password 123456 # 修改旧密码
创建用户
mysql> CREATE USER 'username'@'host' IDENTIFIED BY 'password';
host:localhost 本地登录
host:% 远程登录
用户授权
格式:grant 权限 on 数据库名.表名 to 用户名@主机名 identified by "用户密码";
权限包括 SELECT,UPDATE,INSERT,DELETE,ALERT,CREATE,DROP等
mysql> GRANT ALL PRIVILEGES ON *.* TO 'username'@'host' IDENTIFIED BY 'password’; mysql> FLUSH PRIVILEGES; # 刷新权限
查看用户权限:mysql> show grants for 'username'@'host';
回收权限
mysql> REVOKE ALL PRIVILEGES ON *.* FROM 'username'@'host'; mysql> FLUSH PRIVILEGES;
更改用户密码
mysql> SET PASSWORD FOR 'username'@'host'=PASSWORD('password');
删除用户
mysql> DROP USER 'username'@'host'; mysql> FLUSH PRIVILEGES;
数据备份与恢复
$ mysqldump -h主机名 -P端口 -u用户名 -p密码 --database 数据库名 > 文件名.sql $ mysqldump -h主机名 -P端口 -u用户名 -p密码 < 文件名.sql 或 mysql> source 文件名.sql
tips:当数据库中的表非常多,如果预读数据库信息,将非常慢,可能会卡住。我们可以使用 mysql -A 的方式进入数据库,不预读数据库信息。