MySQL使用
MySQL使用
创建用户
-
登陆MySQL
mysql -uroot -p[可选,直接写密码]
-
创建本地访问的用户
create user \'test\'@\'localhost\' identified by \'123456\';
-
创建远程访问用户
create user \'test\'@\'%\' identified by \'123456\';
-
刷新授权
flush privileges;
test
为用户名, 123456
是用户密码, 将这两者替换为自己的用户名密码, 如果密码不写,那么登陆不需要密码.
授权
grant all privileges on *.* to test@\'localhost\' with grant option;
all privileges
是将所有的权限如select, delete
等, 赋予用户. 可以这样写grant select, insert on *.* to \'lei\'@\'%\';
*
第一个代表指定的数据库
, 第二个表示指定的表
.
test
是用户名.
localhost
是本地访问用户, 如果是远程访问用户将其改为%
删除用户
DROP USER \'username\'@\'localhost\';
更新用户密码
SET PASSWORD FOR \'username\'@\'host\' = PASSWORD(\'newpassword\');
撤销用户权限
REVOKE privilege ON databasename.tablename FROM \'username\'@\'host\';
privilege, databasename, tablename
同授权部分.
错误解决
如果连接时报错Authentication plugin \'caching_sha2_password\' cannot be loaded
, 是因为8.0
修改身份验证插件, 5.7及其之前的
版本是mysql_native_password
, 登陆MySQL
的root
账户执行:
alter user \'zhaolei\'@\'%\' identified with mysql_native_password by "zhaolei";
shell中操作MySQL
修改密码
直接在bash
中输入mysqladmin -uroot -p\'old_pass\' password \'new_pass\'
命令就可以直接修改密码, 会显示warning
可以忽略.
执行MySQL命令
直接在bash
中输入mysql -uroot -p\'password\' -e \'flush privileges;\'
导入sql文件
如果文件中包含数据库和表结构以及数据, 那么可以直接使用mysql -uroot -p\'password\' < test.sql
, 否则可以使用mysql -uroot -p\'password\' db_name < test.sql