欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MySQL8用户创建、授权以及数据导出导入

程序员文章站 2022-06-11 10:09:45
...

 

一、root用户的密码修改

        一般情况下,MySQL安装成功后的root用户的密码都为空,为了不让我们的数据库裸奔。。。我们可以使用下面命令进行设置。

1、首先登录到mysql上,

mysql -uroot -p;

2、密码为空,直接回车,在切换到mysql库中,

use mysql;

3、执行修改密码命令,

alter user 'root'@'%' identified with mysql_native_password by 'root123456';

其中,root指root用户,%指所有ip地址,root123456指密码,而with mysql_native_password是因为MySQL8默认的认证插件是caching_sha2_password,很多客户端是不支持的,这里需要将默认的认证插件修改为mysql_native_password。

退出,重新登录,需要输入密码,说明密码修改成功。

二、用户创建、授权

1、root用户登录mysql成功之后,创建用户,

create user 'test'@'%' identified by 'test123';

其中,test指用户名,%指所有ip地址,test123指密码。

2、授权给test用户,

grant all privileges on *.* to 'test'@'%' with grant option;

这里指赋予test用户所有权限,其中with grant option指test可以给其他用户授权。


如果没起作用,可以手动刷新一下授权表,

flush privileges;

三、数据库文件导出导入

1、用test用户登录mysql,执行导出命令,

mysqldump -u test -p testdb > test.sql

其中,test指用户名,testdb指数据库名称test.sql指输出文件,执行之后,输入密码即可在当前目录看到导出文件。(windows用户需要切换到mysql的bin目录下执行)。


如果只想要数据库中表结构,不需要表中数据则执行下列命令,-d表示只导出表结构。

mysqldump -u test -p -d testdb > test.sql

当然,也可以具体到导出某张表,

mysqldump -u test -p testdb testtb > test_testtb.sql

其中,test指用户名,testdb指数据库名称testtb指导出表名,test_testtb.sql指输出文件。

同理,只导出表结构,不导出表数据时,加上-d即可。

2,登录mysql,切换到导出的数据库名称里,执行导入SQL文件

source test_sql

这里test_sql需要是完整路径,如D:test.sql或者opt/test.sql。

总结:数据的导出导入对我们来说相当重要,平常数据迁移和数据备份也经常会用到。