MySQL常用命令
摘要
常用命令
1、显示当前数据库服务器中的数据库列表:
1 | mysql> SHOW DATABASES; |
2、建立数据库:
1 | mysql> CREATE DATABASE 库名; |
3、建立数据表:
1 | mysql> USE 库名; mysql> CREATE TABLE 表名 (字段名 VARCHAR(20), 字段名 CHAR(1)); |
4、删除数据库:
1 | mysql> DROP DATABASE 库名; |
5、删除数据表:
1 | mysql> DROP TABLE 表名; |
授权用户数据库
创建用户
1 | mysql> create user '[用户名称]'@'%' identified by '[用户密码]'; |
密码8位以上,包括:大写字母、小写字母、数字、特殊字符,%:匹配所有主机,‘localhost’,代表只能本地访问
删除用户
1 | mysql> drop user [用户名称]@'%'; |
用户授权数据库
1 | mysql> grant all on [数据库名称].* to [用户名称]; |
*代表整个数据库
撤销授权
1 | mysql> revoke all on test.* from admin; |
授权用户远程连接
在本机先使用root用户登录mysql: mysql -u root -p”youpassword” 进行授权操作:
1 | mysql> GRANT ALL PRIVILEGES ON *.* TO root@'%' identified by 'root'; |
重载授权表
1 | mysql> flush privileges; |
密码修改
方法1: 用SET PASSWORD
命令
首先登录MySQL。
格式
1 | mysql> set password for 用户名@localhost = password('新密码'); |
例子
1 | mysql> set password for root@localhost = password('123'); |
方法2:用mysqladmin
格式
1 | mysqladmin -u用户名 -p旧密码 password 新密码 |
例子
1 | mysqladmin -uroot -p123456 password 123 |
方法3:用UPDATE
直接编辑user表
首先登录MySQL。
1 | mysql> use mysql; |
常见问题解决
ERROR 1045 (28000): Access denied for user
大意就是你有一个用户名为空的账户,mysql会先匹配它,然后就一直提示你密码错误,删掉这个匿名用户,然后执行FLUSH PRIVILEGES
;
1 | mysql> delete from user where user=' '; |
密码复杂度策略配置
插件库的文件名是validate_password
。要在服务器启动时加载插件,可以使用--plugin-load-add
选项来命名包含它的库文件。使用这种插件加载方法,必须在每次服务器启动时提供该选项。例如,将这些行放到服务器my.cnf文件中(根据需要调整平台的.so后缀)
1 | [mysqld] |
安装插件
1 | mysql> install plugin validate_password soname 'validate_password.so'; |
查看参数
1 | mysql> show variables like 'validate_password%'; |
用于控制validate_password
行为系统参数
这些参数是要安装好validate_password 插件后才能通过show variables like 'validate_password%';
看到。
1 | validate_password_policy 这个参数用于控制validate_password的验证策略 0-->low 1-->MEDIUM 2-->strong。 |
修改参数
1 | mysql> set global validate_password_length=8 |