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

 

一、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。

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

你可能感兴趣的:(Mysql)