修改mysql|修改mysql user用户名后出现找不到用户的问题(mysql view用户名问题)
服务器配置说明: 数据库db:duotun_com 表table: dt_product dt_user dt_company 数据库用户: grant all on *.* to 'public'@'%' identified by 'password' flush privileges;
操作: 1.用public'@'%'连接后新建视图view_product CREATE VIEW view_product AS SELECT * FROM dt_product WHERE edit_time > 1;
2.出于对安全性的考虑,删掉用户 'public'@'%',新建'public'@'192.168.0.%'用户; 3.退出Mysql后用mysql_dump -u public -h 192.168.0.2 -p duotun_com > duotun_com.sql;
报找不到用户'public'@'%'。这里让我百思不得其解,我已经给新用户加了对duotun_com的所有权限,还报这样的错误? 4.从控制台进入mysql后 show create view view_product: CREATE ALGORITHM=UNDEFINED DEFINER=`public`@`%` SQL SECURITY DEFINER VIEW `view_product` AS select ... 发现DEFINER=`public`@`%`,用alter view 修改其值,alter ALGORITHM=UNDEFINED DEFINER=`public`@`192.168.0.%` SQL SECURITY DEFINER VIEW `view_product` AS select ... 5.退出后用Mysql_dump能正常导出数据,搞定。 6.如果不改 view的DEFINER值的话,也不能在没有原来的用户的情况下使用该视图,报ERROR 1449 (HY000): The user specified as a definer ( 'public'@'%') does not exist。
推荐阅读
- py连接mysql
- 2019-01-18Mysql中主机名的问题
- MySql数据库备份与恢复
- mysql|InnoDB数据页结构
- mysql中视图事务索引与权限管理
- MYSQL主从同步的实现
- MySQL数据库的基本操作
- java|java b2b2c shop 多用户商城系统源码- config 修改配置
- javaweb|基于Servlet+jsp+mysql开发javaWeb学生成绩管理系统
- Python3|Python3 MySQL 数据库连接