0

我正在使用 HeidiSQL。移动到我的数据库的新版本。我现在似乎有两个问题。关于如何修复的任何建议。

1)我有几个视图大大简化了查询,但现在指的是旧数据库。

我签入information_schema并确定在那里的VIEWS表中,我的视图引用了旧数据库。但是当我尝试编辑时,我得到:SQL Error (1044): Access denied for use root@localhost to database information_schema. (我以 root 身份登录。)

并非所有视图都是硬编码的。有些是select table1, table2 etc但有些是select database.table1, database.table2 etc。当我创建这个新版本(导出旧 SQL,然后导入新的空数据库)时,当它到达视图时出现错误。有一些关于“算法”的东西,然后它有第二次尝试,似乎创造了它们。

2) 通常在 HeidiSQL 中,您可以在表格中添加一个空白行,然后对其进行编辑。我现在可以编辑名称,但如果我尝试添加一行,则无法指定DATATYPE(在(以及我的一些较旧的 DB)中更奇数的编辑 ),然后显示默认的VARCHAR,但是对于我的两个较新的 DB,该 字段为空白,我不能输入一个。)information_schemaDATATYPEDATATYPE

Maintenance在 HeidiSQL 中使用过,但它似乎无法解决这个问题。我已经重新启动了 MySQL(但还没有重新启动计算机)。

有什么想法吗?我只是搬到海蒂,因为 phpMyAdmin 前段时间设法完全打乱了数据库。

4

2 回答 2

0

我手动复制了每个视图的代码。

我删除了旧视图,然后再次使用相同的名称创建了视图。那工作得很好。花了一段时间才想到明显的解决方案。

如果您遇到同样的问题并发现这很有用,请给我投票。

我将一次将数据库上传到生产服务器一个表并仔细检查 SQL。如果您遇到此问题,请保持警惕,因为我怀疑问题很容易再次出现。

于 2014-11-17T01:52:59.990 回答
0

1.my.ini 或 my.cnf

$ mysqld --skip-grant-tables

2.sh mysql

$mysql -u root mysql
$mysql> UPDATE user SET Password=PASSWORD('my_password') where USER='root';
$mysql> FLUSH PRIVILEGES;

3.最后,在没有 --skip-grant-tables 选项的情况下重新启动实例/守护进程。

$ /etc/init.d/mysql restart

4.您应该可以使用新密码进行连接。

$ mysql -u root -p

Enter password: my_password
于 2014-11-17T01:59:56.070 回答