MySQL进阶知识,你不得不了解的部分

322 阅读32分钟

感谢参考原文-bjbsair.com/2020-04-01/…

当我们在准备好的数据库时,那么如果来进行管理呢?

MySQL进阶知识,你不得不了解的部分

这是个问题,就好比是我们盖了一座房子,那么别人是如何自由出入的呢?这就需要给相关的人员进行钥匙的发放,那么他们才能自由的出入这座房子。

对于数据库也是一样的,不管你是使用的那个数据库,都是需要对数据库进行管理的。如果只有一个管理者的话,有些人需要管理员权限,有些人需要读写权限,有些人只需要读权限,那么各个角色的人员就需要不停地向开发者或者管理者进行数据库的权限申请,这样就会麻烦很多,而且还不方便管理。这就需要对不同角色的人员进行不同权限的授权管理,而最终都有root用户来最终管理。

MySQL进阶知识,你不得不了解的部分

下面就来详细的介绍下具体的操作方法。

创建用户

首先是以root用户来登录数据库

创建mysql用户的语法:

# 这里的'zhangsan'@'localhost',zhangsan表示用户名localhost表示为主机,  
# 这里可以使用单引号,也可以不使用单引号,如果用户名为下划线连接时,建议还是使用单引号,  
# 例如:用户名为'user_jack'  
create user 'zhangsan'@'localhost' identified by 'password'

这是创建了用户名为zhangsan,密码为password的新账号

这里的创建密码也是可以进行更改的,比方感觉这个密码太简单了,需要重新进行更换

update datadb set password=password('new_password') where user='zhangsan' 

查看用户权限

如果想要看看创建的用户是什么样子,都有什么权限,可以使用命令来查看

show grants for 'zhangsan'@'localhost'

如果没有指定权限的话,创建好的用户一般是几乎没有任何权限的。

需要对这个创建好的用户进行相关权限的授权,否则这个这用户在数据库的操作会有限制

MySQL进阶知识,你不得不了解的部分

对用户进行授权

# 这里就是对张三进行了select,insert两个权限的授权  
grant select,insert on *.* to zhangsan@'%' indentified by 'password'  
  
# 这里也可以指定用户访问指定的数据库  
grant select,insert on datadb.* to zhangsan@'%' indentified by 'password'  
  
# 也可以指定数据库中的某张表  
grant select,insert on datadb.user.* to zhangsan@'%' indentified by 'password'

注:当然这里还有delete(删除)、update(更新)、create(创建)等

修改用户权限

# 这是对zhangsan这个用户进行了多有权限的授权  
# datadb是需要对zhangsan这个用户开放的那个数据库  
# identified by是用于对指定账号对应的口令,若该账号没有口令,可以将其省略  
grant all privileges on datadb.* to zhangsan@'%' identified by 'password'

注:也可以对用户进行某些权限的授权,如果这个用户只是需要用到读写的操作,那么就可以对着用户进行读写权限的授权,这样就可以避免因操作不当而造成对里面数据的修改。

删除创建已有用户

如果在后期需要对某个用户进行权限收回或者将其权限取消时,就需要对用户的权限进行重新管理或者删除操作

# 这里的%是zhangsan这个用户的所对应的权限  
drop user zhangsan@'%'

注意:如果在上面的操作执行后,相应的权限并没有生效,这时可以使用命令来重新将其生效

# 这里是重新刷新一下权限,使其生效  
flush privileges

以上就是对MySQL的阶段操作流程,当然MySQL的操作不止这些,还有更多的操作。感谢参考原文-bjbsair.com/2020-04-01/…

当我们在准备好的数据库时,那么如果来进行管理呢?

MySQL进阶知识,你不得不了解的部分

这是个问题,就好比是我们盖了一座房子,那么别人是如何自由出入的呢?这就需要给相关的人员进行钥匙的发放,那么他们才能自由的出入这座房子。

对于数据库也是一样的,不管你是使用的那个数据库,都是需要对数据库进行管理的。如果只有一个管理者的话,有些人需要管理员权限,有些人需要读写权限,有些人只需要读权限,那么各个角色的人员就需要不停地向开发者或者管理者进行数据库的权限申请,这样就会麻烦很多,而且还不方便管理。这就需要对不同角色的人员进行不同权限的授权管理,而最终都有root用户来最终管理。

MySQL进阶知识,你不得不了解的部分

下面就来详细的介绍下具体的操作方法。

创建用户

首先是以root用户来登录数据库

创建mysql用户的语法:

# 这里的'zhangsan'@'localhost',zhangsan表示用户名localhost表示为主机,  
# 这里可以使用单引号,也可以不使用单引号,如果用户名为下划线连接时,建议还是使用单引号,  
# 例如:用户名为'user_jack'  
create user 'zhangsan'@'localhost' identified by 'password'

这是创建了用户名为zhangsan,密码为password的新账号

这里的创建密码也是可以进行更改的,比方感觉这个密码太简单了,需要重新进行更换

update datadb set password=password('new_password') where user='zhangsan' 

查看用户权限

如果想要看看创建的用户是什么样子,都有什么权限,可以使用命令来查看

show grants for 'zhangsan'@'localhost'

如果没有指定权限的话,创建好的用户一般是几乎没有任何权限的。

需要对这个创建好的用户进行相关权限的授权,否则这个这用户在数据库的操作会有限制

MySQL进阶知识,你不得不了解的部分

对用户进行授权

# 这里就是对张三进行了select,insert两个权限的授权  
grant select,insert on *.* to zhangsan@'%' indentified by 'password'  
  
# 这里也可以指定用户访问指定的数据库  
grant select,insert on datadb.* to zhangsan@'%' indentified by 'password'  
  
# 也可以指定数据库中的某张表  
grant select,insert on datadb.user.* to zhangsan@'%' indentified by 'password'

注:当然这里还有delete(删除)、update(更新)、create(创建)等

修改用户权限

# 这是对zhangsan这个用户进行了多有权限的授权  
# datadb是需要对zhangsan这个用户开放的那个数据库  
# identified by是用于对指定账号对应的口令,若该账号没有口令,可以将其省略  
grant all privileges on datadb.* to zhangsan@'%' identified by 'password'

注:也可以对用户进行某些权限的授权,如果这个用户只是需要用到读写的操作,那么就可以对着用户进行读写权限的授权,这样就可以避免因操作不当而造成对里面数据的修改。

删除创建已有用户

如果在后期需要对某个用户进行权限收回或者将其权限取消时,就需要对用户的权限进行重新管理或者删除操作

# 这里的%是zhangsan这个用户的所对应的权限  
drop user zhangsan@'%'

注意:如果在上面的操作执行后,相应的权限并没有生效,这时可以使用命令来重新将其生效

# 这里是重新刷新一下权限,使其生效  
flush privileges

以上就是对MySQL的阶段操作流程,当然MySQL的操作不止这些,还有更多的操作。感谢参考原文-bjbsair.com/2020-04-01/…

当我们在准备好的数据库时,那么如果来进行管理呢?

MySQL进阶知识,你不得不了解的部分

这是个问题,就好比是我们盖了一座房子,那么别人是如何自由出入的呢?这就需要给相关的人员进行钥匙的发放,那么他们才能自由的出入这座房子。

对于数据库也是一样的,不管你是使用的那个数据库,都是需要对数据库进行管理的。如果只有一个管理者的话,有些人需要管理员权限,有些人需要读写权限,有些人只需要读权限,那么各个角色的人员就需要不停地向开发者或者管理者进行数据库的权限申请,这样就会麻烦很多,而且还不方便管理。这就需要对不同角色的人员进行不同权限的授权管理,而最终都有root用户来最终管理。

MySQL进阶知识,你不得不了解的部分

下面就来详细的介绍下具体的操作方法。

创建用户

首先是以root用户来登录数据库

创建mysql用户的语法:

# 这里的'zhangsan'@'localhost',zhangsan表示用户名localhost表示为主机,  
# 这里可以使用单引号,也可以不使用单引号,如果用户名为下划线连接时,建议还是使用单引号,  
# 例如:用户名为'user_jack'  
create user 'zhangsan'@'localhost' identified by 'password'

这是创建了用户名为zhangsan,密码为password的新账号

这里的创建密码也是可以进行更改的,比方感觉这个密码太简单了,需要重新进行更换

update datadb set password=password('new_password') where user='zhangsan' 

查看用户权限

如果想要看看创建的用户是什么样子,都有什么权限,可以使用命令来查看

show grants for 'zhangsan'@'localhost'

如果没有指定权限的话,创建好的用户一般是几乎没有任何权限的。

需要对这个创建好的用户进行相关权限的授权,否则这个这用户在数据库的操作会有限制

MySQL进阶知识,你不得不了解的部分

对用户进行授权

# 这里就是对张三进行了select,insert两个权限的授权  
grant select,insert on *.* to zhangsan@'%' indentified by 'password'  
  
# 这里也可以指定用户访问指定的数据库  
grant select,insert on datadb.* to zhangsan@'%' indentified by 'password'  
  
# 也可以指定数据库中的某张表  
grant select,insert on datadb.user.* to zhangsan@'%' indentified by 'password'

注:当然这里还有delete(删除)、update(更新)、create(创建)等

修改用户权限

# 这是对zhangsan这个用户进行了多有权限的授权  
# datadb是需要对zhangsan这个用户开放的那个数据库  
# identified by是用于对指定账号对应的口令,若该账号没有口令,可以将其省略  
grant all privileges on datadb.* to zhangsan@'%' identified by 'password'

注:也可以对用户进行某些权限的授权,如果这个用户只是需要用到读写的操作,那么就可以对着用户进行读写权限的授权,这样就可以避免因操作不当而造成对里面数据的修改。

删除创建已有用户

如果在后期需要对某个用户进行权限收回或者将其权限取消时,就需要对用户的权限进行重新管理或者删除操作

# 这里的%是zhangsan这个用户的所对应的权限  
drop user zhangsan@'%'

注意:如果在上面的操作执行后,相应的权限并没有生效,这时可以使用命令来重新将其生效

# 这里是重新刷新一下权限,使其生效  
flush privileges

以上就是对MySQL的阶段操作流程,当然MySQL的操作不止这些,还有更多的操作。感谢参考原文-bjbsair.com/2020-04-01/…

当我们在准备好的数据库时,那么如果来进行管理呢?

MySQL进阶知识,你不得不了解的部分

这是个问题,就好比是我们盖了一座房子,那么别人是如何自由出入的呢?这就需要给相关的人员进行钥匙的发放,那么他们才能自由的出入这座房子。

对于数据库也是一样的,不管你是使用的那个数据库,都是需要对数据库进行管理的。如果只有一个管理者的话,有些人需要管理员权限,有些人需要读写权限,有些人只需要读权限,那么各个角色的人员就需要不停地向开发者或者管理者进行数据库的权限申请,这样就会麻烦很多,而且还不方便管理。这就需要对不同角色的人员进行不同权限的授权管理,而最终都有root用户来最终管理。

MySQL进阶知识,你不得不了解的部分

下面就来详细的介绍下具体的操作方法。

创建用户

首先是以root用户来登录数据库

创建mysql用户的语法:

# 这里的'zhangsan'@'localhost',zhangsan表示用户名localhost表示为主机,  
# 这里可以使用单引号,也可以不使用单引号,如果用户名为下划线连接时,建议还是使用单引号,  
# 例如:用户名为'user_jack'  
create user 'zhangsan'@'localhost' identified by 'password'

这是创建了用户名为zhangsan,密码为password的新账号

这里的创建密码也是可以进行更改的,比方感觉这个密码太简单了,需要重新进行更换

update datadb set password=password('new_password') where user='zhangsan' 

查看用户权限

如果想要看看创建的用户是什么样子,都有什么权限,可以使用命令来查看

show grants for 'zhangsan'@'localhost'

如果没有指定权限的话,创建好的用户一般是几乎没有任何权限的。

需要对这个创建好的用户进行相关权限的授权,否则这个这用户在数据库的操作会有限制

MySQL进阶知识,你不得不了解的部分

对用户进行授权

# 这里就是对张三进行了select,insert两个权限的授权  
grant select,insert on *.* to zhangsan@'%' indentified by 'password'  
  
# 这里也可以指定用户访问指定的数据库  
grant select,insert on datadb.* to zhangsan@'%' indentified by 'password'  
  
# 也可以指定数据库中的某张表  
grant select,insert on datadb.user.* to zhangsan@'%' indentified by 'password'

注:当然这里还有delete(删除)、update(更新)、create(创建)等

修改用户权限

# 这是对zhangsan这个用户进行了多有权限的授权  
# datadb是需要对zhangsan这个用户开放的那个数据库  
# identified by是用于对指定账号对应的口令,若该账号没有口令,可以将其省略  
grant all privileges on datadb.* to zhangsan@'%' identified by 'password'

注:也可以对用户进行某些权限的授权,如果这个用户只是需要用到读写的操作,那么就可以对着用户进行读写权限的授权,这样就可以避免因操作不当而造成对里面数据的修改。

删除创建已有用户

如果在后期需要对某个用户进行权限收回或者将其权限取消时,就需要对用户的权限进行重新管理或者删除操作

# 这里的%是zhangsan这个用户的所对应的权限  
drop user zhangsan@'%'

注意:如果在上面的操作执行后,相应的权限并没有生效,这时可以使用命令来重新将其生效

# 这里是重新刷新一下权限,使其生效  
flush privileges

以上就是对MySQL的阶段操作流程,当然MySQL的操作不止这些,还有更多的操作。感谢参考原文-bjbsair.com/2020-04-01/…

当我们在准备好的数据库时,那么如果来进行管理呢?

MySQL进阶知识,你不得不了解的部分

这是个问题,就好比是我们盖了一座房子,那么别人是如何自由出入的呢?这就需要给相关的人员进行钥匙的发放,那么他们才能自由的出入这座房子。

对于数据库也是一样的,不管你是使用的那个数据库,都是需要对数据库进行管理的。如果只有一个管理者的话,有些人需要管理员权限,有些人需要读写权限,有些人只需要读权限,那么各个角色的人员就需要不停地向开发者或者管理者进行数据库的权限申请,这样就会麻烦很多,而且还不方便管理。这就需要对不同角色的人员进行不同权限的授权管理,而最终都有root用户来最终管理。

MySQL进阶知识,你不得不了解的部分

下面就来详细的介绍下具体的操作方法。

创建用户

首先是以root用户来登录数据库

创建mysql用户的语法:

# 这里的'zhangsan'@'localhost',zhangsan表示用户名localhost表示为主机,  
# 这里可以使用单引号,也可以不使用单引号,如果用户名为下划线连接时,建议还是使用单引号,  
# 例如:用户名为'user_jack'  
create user 'zhangsan'@'localhost' identified by 'password'

这是创建了用户名为zhangsan,密码为password的新账号

这里的创建密码也是可以进行更改的,比方感觉这个密码太简单了,需要重新进行更换

update datadb set password=password('new_password') where user='zhangsan' 

查看用户权限

如果想要看看创建的用户是什么样子,都有什么权限,可以使用命令来查看

show grants for 'zhangsan'@'localhost'

如果没有指定权限的话,创建好的用户一般是几乎没有任何权限的。

需要对这个创建好的用户进行相关权限的授权,否则这个这用户在数据库的操作会有限制

MySQL进阶知识,你不得不了解的部分

对用户进行授权

# 这里就是对张三进行了select,insert两个权限的授权  
grant select,insert on *.* to zhangsan@'%' indentified by 'password'  
  
# 这里也可以指定用户访问指定的数据库  
grant select,insert on datadb.* to zhangsan@'%' indentified by 'password'  
  
# 也可以指定数据库中的某张表  
grant select,insert on datadb.user.* to zhangsan@'%' indentified by 'password'

注:当然这里还有delete(删除)、update(更新)、create(创建)等

修改用户权限

# 这是对zhangsan这个用户进行了多有权限的授权  
# datadb是需要对zhangsan这个用户开放的那个数据库  
# identified by是用于对指定账号对应的口令,若该账号没有口令,可以将其省略  
grant all privileges on datadb.* to zhangsan@'%' identified by 'password'

注:也可以对用户进行某些权限的授权,如果这个用户只是需要用到读写的操作,那么就可以对着用户进行读写权限的授权,这样就可以避免因操作不当而造成对里面数据的修改。

删除创建已有用户

如果在后期需要对某个用户进行权限收回或者将其权限取消时,就需要对用户的权限进行重新管理或者删除操作

# 这里的%是zhangsan这个用户的所对应的权限  
drop user zhangsan@'%'

注意:如果在上面的操作执行后,相应的权限并没有生效,这时可以使用命令来重新将其生效

# 这里是重新刷新一下权限,使其生效  
flush privileges

以上就是对MySQL的阶段操作流程,当然MySQL的操作不止这些,还有更多的操作。感谢参考原文-bjbsair.com/2020-04-01/…

当我们在准备好的数据库时,那么如果来进行管理呢?

MySQL进阶知识,你不得不了解的部分

这是个问题,就好比是我们盖了一座房子,那么别人是如何自由出入的呢?这就需要给相关的人员进行钥匙的发放,那么他们才能自由的出入这座房子。

对于数据库也是一样的,不管你是使用的那个数据库,都是需要对数据库进行管理的。如果只有一个管理者的话,有些人需要管理员权限,有些人需要读写权限,有些人只需要读权限,那么各个角色的人员就需要不停地向开发者或者管理者进行数据库的权限申请,这样就会麻烦很多,而且还不方便管理。这就需要对不同角色的人员进行不同权限的授权管理,而最终都有root用户来最终管理。

MySQL进阶知识,你不得不了解的部分

下面就来详细的介绍下具体的操作方法。

创建用户

首先是以root用户来登录数据库

创建mysql用户的语法:

# 这里的'zhangsan'@'localhost',zhangsan表示用户名localhost表示为主机,  
# 这里可以使用单引号,也可以不使用单引号,如果用户名为下划线连接时,建议还是使用单引号,  
# 例如:用户名为'user_jack'  
create user 'zhangsan'@'localhost' identified by 'password'

这是创建了用户名为zhangsan,密码为password的新账号

这里的创建密码也是可以进行更改的,比方感觉这个密码太简单了,需要重新进行更换

update datadb set password=password('new_password') where user='zhangsan' 

查看用户权限

如果想要看看创建的用户是什么样子,都有什么权限,可以使用命令来查看

show grants for 'zhangsan'@'localhost'

如果没有指定权限的话,创建好的用户一般是几乎没有任何权限的。

需要对这个创建好的用户进行相关权限的授权,否则这个这用户在数据库的操作会有限制

MySQL进阶知识,你不得不了解的部分

对用户进行授权

# 这里就是对张三进行了select,insert两个权限的授权  
grant select,insert on *.* to zhangsan@'%' indentified by 'password'  
  
# 这里也可以指定用户访问指定的数据库  
grant select,insert on datadb.* to zhangsan@'%' indentified by 'password'  
  
# 也可以指定数据库中的某张表  
grant select,insert on datadb.user.* to zhangsan@'%' indentified by 'password'

注:当然这里还有delete(删除)、update(更新)、create(创建)等

修改用户权限

# 这是对zhangsan这个用户进行了多有权限的授权  
# datadb是需要对zhangsan这个用户开放的那个数据库  
# identified by是用于对指定账号对应的口令,若该账号没有口令,可以将其省略  
grant all privileges on datadb.* to zhangsan@'%' identified by 'password'

注:也可以对用户进行某些权限的授权,如果这个用户只是需要用到读写的操作,那么就可以对着用户进行读写权限的授权,这样就可以避免因操作不当而造成对里面数据的修改。

删除创建已有用户

如果在后期需要对某个用户进行权限收回或者将其权限取消时,就需要对用户的权限进行重新管理或者删除操作

# 这里的%是zhangsan这个用户的所对应的权限  
drop user zhangsan@'%'

注意:如果在上面的操作执行后,相应的权限并没有生效,这时可以使用命令来重新将其生效

# 这里是重新刷新一下权限,使其生效  
flush privileges

以上就是对MySQL的阶段操作流程,当然MySQL的操作不止这些,还有更多的操作。感谢参考原文-bjbsair.com/2020-04-01/…

当我们在准备好的数据库时,那么如果来进行管理呢?

MySQL进阶知识,你不得不了解的部分

这是个问题,就好比是我们盖了一座房子,那么别人是如何自由出入的呢?这就需要给相关的人员进行钥匙的发放,那么他们才能自由的出入这座房子。

对于数据库也是一样的,不管你是使用的那个数据库,都是需要对数据库进行管理的。如果只有一个管理者的话,有些人需要管理员权限,有些人需要读写权限,有些人只需要读权限,那么各个角色的人员就需要不停地向开发者或者管理者进行数据库的权限申请,这样就会麻烦很多,而且还不方便管理。这就需要对不同角色的人员进行不同权限的授权管理,而最终都有root用户来最终管理。

MySQL进阶知识,你不得不了解的部分

下面就来详细的介绍下具体的操作方法。

创建用户

首先是以root用户来登录数据库

创建mysql用户的语法:

# 这里的'zhangsan'@'localhost',zhangsan表示用户名localhost表示为主机,  
# 这里可以使用单引号,也可以不使用单引号,如果用户名为下划线连接时,建议还是使用单引号,  
# 例如:用户名为'user_jack'  
create user 'zhangsan'@'localhost' identified by 'password'

这是创建了用户名为zhangsan,密码为password的新账号

这里的创建密码也是可以进行更改的,比方感觉这个密码太简单了,需要重新进行更换

update datadb set password=password('new_password') where user='zhangsan' 

查看用户权限

如果想要看看创建的用户是什么样子,都有什么权限,可以使用命令来查看

show grants for 'zhangsan'@'localhost'

如果没有指定权限的话,创建好的用户一般是几乎没有任何权限的。

需要对这个创建好的用户进行相关权限的授权,否则这个这用户在数据库的操作会有限制

MySQL进阶知识,你不得不了解的部分

对用户进行授权

# 这里就是对张三进行了select,insert两个权限的授权  
grant select,insert on *.* to zhangsan@'%' indentified by 'password'  
  
# 这里也可以指定用户访问指定的数据库  
grant select,insert on datadb.* to zhangsan@'%' indentified by 'password'  
  
# 也可以指定数据库中的某张表  
grant select,insert on datadb.user.* to zhangsan@'%' indentified by 'password'

注:当然这里还有delete(删除)、update(更新)、create(创建)等

修改用户权限

# 这是对zhangsan这个用户进行了多有权限的授权  
# datadb是需要对zhangsan这个用户开放的那个数据库  
# identified by是用于对指定账号对应的口令,若该账号没有口令,可以将其省略  
grant all privileges on datadb.* to zhangsan@'%' identified by 'password'

注:也可以对用户进行某些权限的授权,如果这个用户只是需要用到读写的操作,那么就可以对着用户进行读写权限的授权,这样就可以避免因操作不当而造成对里面数据的修改。

删除创建已有用户

如果在后期需要对某个用户进行权限收回或者将其权限取消时,就需要对用户的权限进行重新管理或者删除操作

# 这里的%是zhangsan这个用户的所对应的权限  
drop user zhangsan@'%'

注意:如果在上面的操作执行后,相应的权限并没有生效,这时可以使用命令来重新将其生效

# 这里是重新刷新一下权限,使其生效  
flush privileges

以上就是对MySQL的阶段操作流程,当然MySQL的操作不止这些,还有更多的操作。感谢参考原文-bjbsair.com/2020-04-01/…

当我们在准备好的数据库时,那么如果来进行管理呢?

MySQL进阶知识,你不得不了解的部分

这是个问题,就好比是我们盖了一座房子,那么别人是如何自由出入的呢?这就需要给相关的人员进行钥匙的发放,那么他们才能自由的出入这座房子。

对于数据库也是一样的,不管你是使用的那个数据库,都是需要对数据库进行管理的。如果只有一个管理者的话,有些人需要管理员权限,有些人需要读写权限,有些人只需要读权限,那么各个角色的人员就需要不停地向开发者或者管理者进行数据库的权限申请,这样就会麻烦很多,而且还不方便管理。这就需要对不同角色的人员进行不同权限的授权管理,而最终都有root用户来最终管理。

MySQL进阶知识,你不得不了解的部分

下面就来详细的介绍下具体的操作方法。

创建用户

首先是以root用户来登录数据库

创建mysql用户的语法:

# 这里的'zhangsan'@'localhost',zhangsan表示用户名localhost表示为主机,  
# 这里可以使用单引号,也可以不使用单引号,如果用户名为下划线连接时,建议还是使用单引号,  
# 例如:用户名为'user_jack'  
create user 'zhangsan'@'localhost' identified by 'password'

这是创建了用户名为zhangsan,密码为password的新账号

这里的创建密码也是可以进行更改的,比方感觉这个密码太简单了,需要重新进行更换

update datadb set password=password('new_password') where user='zhangsan' 

查看用户权限

如果想要看看创建的用户是什么样子,都有什么权限,可以使用命令来查看

show grants for 'zhangsan'@'localhost'

如果没有指定权限的话,创建好的用户一般是几乎没有任何权限的。

需要对这个创建好的用户进行相关权限的授权,否则这个这用户在数据库的操作会有限制

MySQL进阶知识,你不得不了解的部分

对用户进行授权

# 这里就是对张三进行了select,insert两个权限的授权  
grant select,insert on *.* to zhangsan@'%' indentified by 'password'  
  
# 这里也可以指定用户访问指定的数据库  
grant select,insert on datadb.* to zhangsan@'%' indentified by 'password'  
  
# 也可以指定数据库中的某张表  
grant select,insert on datadb.user.* to zhangsan@'%' indentified by 'password'

注:当然这里还有delete(删除)、update(更新)、create(创建)等

修改用户权限

# 这是对zhangsan这个用户进行了多有权限的授权  
# datadb是需要对zhangsan这个用户开放的那个数据库  
# identified by是用于对指定账号对应的口令,若该账号没有口令,可以将其省略  
grant all privileges on datadb.* to zhangsan@'%' identified by 'password'

注:也可以对用户进行某些权限的授权,如果这个用户只是需要用到读写的操作,那么就可以对着用户进行读写权限的授权,这样就可以避免因操作不当而造成对里面数据的修改。

删除创建已有用户

如果在后期需要对某个用户进行权限收回或者将其权限取消时,就需要对用户的权限进行重新管理或者删除操作

# 这里的%是zhangsan这个用户的所对应的权限  
drop user zhangsan@'%'

注意:如果在上面的操作执行后,相应的权限并没有生效,这时可以使用命令来重新将其生效

# 这里是重新刷新一下权限,使其生效  
flush privileges

以上就是对MySQL的阶段操作流程,当然MySQL的操作不止这些,还有更多的操作。感谢参考原文-bjbsair.com/2020-04-01/…

当我们在准备好的数据库时,那么如果来进行管理呢?

MySQL进阶知识,你不得不了解的部分

这是个问题,就好比是我们盖了一座房子,那么别人是如何自由出入的呢?这就需要给相关的人员进行钥匙的发放,那么他们才能自由的出入这座房子。

对于数据库也是一样的,不管你是使用的那个数据库,都是需要对数据库进行管理的。如果只有一个管理者的话,有些人需要管理员权限,有些人需要读写权限,有些人只需要读权限,那么各个角色的人员就需要不停地向开发者或者管理者进行数据库的权限申请,这样就会麻烦很多,而且还不方便管理。这就需要对不同角色的人员进行不同权限的授权管理,而最终都有root用户来最终管理。

MySQL进阶知识,你不得不了解的部分

下面就来详细的介绍下具体的操作方法。

创建用户

首先是以root用户来登录数据库

创建mysql用户的语法:

# 这里的'zhangsan'@'localhost',zhangsan表示用户名localhost表示为主机,  
# 这里可以使用单引号,也可以不使用单引号,如果用户名为下划线连接时,建议还是使用单引号,  
# 例如:用户名为'user_jack'  
create user 'zhangsan'@'localhost' identified by 'password'

这是创建了用户名为zhangsan,密码为password的新账号

这里的创建密码也是可以进行更改的,比方感觉这个密码太简单了,需要重新进行更换

update datadb set password=password('new_password') where user='zhangsan' 

查看用户权限

如果想要看看创建的用户是什么样子,都有什么权限,可以使用命令来查看

show grants for 'zhangsan'@'localhost'

如果没有指定权限的话,创建好的用户一般是几乎没有任何权限的。

需要对这个创建好的用户进行相关权限的授权,否则这个这用户在数据库的操作会有限制

MySQL进阶知识,你不得不了解的部分

对用户进行授权

# 这里就是对张三进行了select,insert两个权限的授权  
grant select,insert on *.* to zhangsan@'%' indentified by 'password'  
  
# 这里也可以指定用户访问指定的数据库  
grant select,insert on datadb.* to zhangsan@'%' indentified by 'password'  
  
# 也可以指定数据库中的某张表  
grant select,insert on datadb.user.* to zhangsan@'%' indentified by 'password'

注:当然这里还有delete(删除)、update(更新)、create(创建)等

修改用户权限

# 这是对zhangsan这个用户进行了多有权限的授权  
# datadb是需要对zhangsan这个用户开放的那个数据库  
# identified by是用于对指定账号对应的口令,若该账号没有口令,可以将其省略  
grant all privileges on datadb.* to zhangsan@'%' identified by 'password'

注:也可以对用户进行某些权限的授权,如果这个用户只是需要用到读写的操作,那么就可以对着用户进行读写权限的授权,这样就可以避免因操作不当而造成对里面数据的修改。

删除创建已有用户

如果在后期需要对某个用户进行权限收回或者将其权限取消时,就需要对用户的权限进行重新管理或者删除操作

# 这里的%是zhangsan这个用户的所对应的权限  
drop user zhangsan@'%'

注意:如果在上面的操作执行后,相应的权限并没有生效,这时可以使用命令来重新将其生效

# 这里是重新刷新一下权限,使其生效  
flush privileges

以上就是对MySQL的阶段操作流程,当然MySQL的操作不止这些,还有更多的操作。感谢参考原文-bjbsair.com/2020-04-01/…

当我们在准备好的数据库时,那么如果来进行管理呢?

MySQL进阶知识,你不得不了解的部分

这是个问题,就好比是我们盖了一座房子,那么别人是如何自由出入的呢?这就需要给相关的人员进行钥匙的发放,那么他们才能自由的出入这座房子。

对于数据库也是一样的,不管你是使用的那个数据库,都是需要对数据库进行管理的。如果只有一个管理者的话,有些人需要管理员权限,有些人需要读写权限,有些人只需要读权限,那么各个角色的人员就需要不停地向开发者或者管理者进行数据库的权限申请,这样就会麻烦很多,而且还不方便管理。这就需要对不同角色的人员进行不同权限的授权管理,而最终都有root用户来最终管理。

MySQL进阶知识,你不得不了解的部分

下面就来详细的介绍下具体的操作方法。

创建用户

首先是以root用户来登录数据库

创建mysql用户的语法:

# 这里的'zhangsan'@'localhost',zhangsan表示用户名localhost表示为主机,  
# 这里可以使用单引号,也可以不使用单引号,如果用户名为下划线连接时,建议还是使用单引号,  
# 例如:用户名为'user_jack'  
create user 'zhangsan'@'localhost' identified by 'password'

这是创建了用户名为zhangsan,密码为password的新账号

这里的创建密码也是可以进行更改的,比方感觉这个密码太简单了,需要重新进行更换

update datadb set password=password('new_password') where user='zhangsan' 

查看用户权限

如果想要看看创建的用户是什么样子,都有什么权限,可以使用命令来查看

show grants for 'zhangsan'@'localhost'

如果没有指定权限的话,创建好的用户一般是几乎没有任何权限的。

需要对这个创建好的用户进行相关权限的授权,否则这个这用户在数据库的操作会有限制

MySQL进阶知识,你不得不了解的部分

对用户进行授权

# 这里就是对张三进行了select,insert两个权限的授权  
grant select,insert on *.* to zhangsan@'%' indentified by 'password'  
  
# 这里也可以指定用户访问指定的数据库  
grant select,insert on datadb.* to zhangsan@'%' indentified by 'password'  
  
# 也可以指定数据库中的某张表  
grant select,insert on datadb.user.* to zhangsan@'%' indentified by 'password'

注:当然这里还有delete(删除)、update(更新)、create(创建)等

修改用户权限

# 这是对zhangsan这个用户进行了多有权限的授权  
# datadb是需要对zhangsan这个用户开放的那个数据库  
# identified by是用于对指定账号对应的口令,若该账号没有口令,可以将其省略  
grant all privileges on datadb.* to zhangsan@'%' identified by 'password'

注:也可以对用户进行某些权限的授权,如果这个用户只是需要用到读写的操作,那么就可以对着用户进行读写权限的授权,这样就可以避免因操作不当而造成对里面数据的修改。

删除创建已有用户

如果在后期需要对某个用户进行权限收回或者将其权限取消时,就需要对用户的权限进行重新管理或者删除操作

# 这里的%是zhangsan这个用户的所对应的权限  
drop user zhangsan@'%'

注意:如果在上面的操作执行后,相应的权限并没有生效,这时可以使用命令来重新将其生效

# 这里是重新刷新一下权限,使其生效  
flush privileges

以上就是对MySQL的阶段操作流程,当然MySQL的操作不止这些,还有更多的操作。