Questions tagged «mysql»

MySQL的所有版本(不是Microsoft SQL Server)。如果与此问题相关,还请添加特定于版本的标记,例如mysql-5.7。

4
在许多视图上修改DEFINER
更新后备份我的数据库时遇到问题。我一直在寻找系统原因,以找出原因。我运行的一个查询返回了此结果。 Got error: 1449: The user specified as a definer ('cittool'@'%') does not exist when using LOCK TABLES 经过调查后,这些视图的定义者似乎是已从系统中清除的旧开发者帐户。带有此问题的数据库和视图很少使用,并且大多数用于存档目的。 带有定义器的视图大约不存在40个。是否有一种简单的方法可以一次将定义器更改为其他帐户?有没有一种方法可以使mysqldump简单地将所有视图转储到文件中,以便我可以编辑该文件并重新创建视图?
25 mysql  view 

2
适用于MySQL的事务性DDL工作流程
我有点惊讶地发现,DDL语句(alter table,create index等)隐含在MySQL提交当前事务。来自MS SQL Server,能够在本地事务中进行数据库更改(然后被回滚)的能力是我工作流程的重要组成部分。对于连续集成,如果由于某种原因导致迁移失败,则使用回滚,以便至少我们不会使数据库处于半迁移状态。 人们在将MySQL与迁移和持续集成结合使用时如何解决这两个问题?

4
MySQL中继日志已损坏,如何解决?尝试过但失败了
当计算机突然关闭时,MySQL v5.1.61中继已损坏。我试图修复它,但是没有用。 - 我如何解决它?我做错什么了吗? 据我所知,损坏的MySQL中继日志很容易修复: change master to master_log_file='<Relay_Master_Log_File>', master_log_pos=<Exec_Master_Log_Pos>; 其中Relay_Master_Log_File和按Exec_Master_Log_Pos以下方式列出: mysql> show slave status; 但是,当我这样做时change master status ...,出现了主键冲突错误。那怎么可能?上面的过程不正确,还是缺少一些+1? (目前,我只是将--master-data mysqldump从主服务器重新导入到从服务器,这解决了问题。但是,将来,这样做可能不合适。) 以下是有关我的特定问题的详细信息: mysql> show slave status \G *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: the-master-host Master_User: replication Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000021 Read_Master_Log_Pos: 33639968 …

7
储存IP位址
我必须将所有注册用户的IP地址存储在数据库中。我想知道,我应该为该列声明多少个字符? 我也应该支持IPv6吗?如果是,那么IP地址的最大长度是多少?

5
在MySQL查询中使用反引号(`)的好处?
在MySQL中,我们可以创建带有或不带有反引号(`)符号的查询。例: SELECT * FROM TEST; SELECT * FROM `TEST`; 两者都可以在mysql-console中正常工作。 它们之间有技术上的区别吗? `相对于简单查询,使用()有什么好处?
25 mysql  select 


6
更改实时生产数据库上的表
此问题是从Stack Overflow 迁移而来的,因为可以在Database Administrators Stack Exchange上回答。 迁移 7年前。 大多数“流行的”(MySQL,Postgres ...)数据库系统如何处理更改实时生产数据库上的表(如添加,删除或更改列的类型)? 我知道正确的方法是备份所有计划停机时间,然后进行更改。 但是...当前的数据库系统是否支持“在线”执行这些操作而不停止任何操作?(也许只是延迟引用刚被更改/删除的列的查询) 当我ALTER TABLE...在实时运行的数据库上进行操作时,会发生什么?发生这种情况时,一切都会停止吗?数据会损坏吗?等等 同样,我主要指的是Postgres或MySQL,因为它们是我遇到的。 (是的,是的,我必须在做“正确的方式”之前做任何事情,备份事情,安排例行工作……。但是我只是想知道是否有可能做这样的事情,而事情“很快又脏”或是否有任何数据库系统实际上支持“快速,活动和脏”模式更改) 有人刚才建议的在线模式修改为MySQL从Facebook脚本(有教程这里和源在这里)......似乎是一个很好的方式来自动执行了一套“哈克”的方式来做到这一点...有没有人用它在类似于生产吗?

5
如何在MySQL中创建条件索引?
如何在MySQL中创建索引以过滤表的特定范围或子集?AFAIK无法直接创建,但我认为可以模拟此功能。 示例:我NAME只想为带有行的列创建索引STATUS = 'ACTIVE' 此功能在SQL Server中称为筛选索引,在Postgres中称为部分索引。

5
MySQL控制台:Ctrl + C让我发疯
MySQL控制台中有些东西让我发疯。当我按ctrl+ c取消当前键入的命令时,终端退出。 在每一个终端我知道(*nix码头,Python,PostgreSQL),ctrl+ c取消当前命令和ctrl+ d离开终端。 此问题已在2003年报告,此后多次发生。 有没有办法: 更改此行为,或者 说服MySQL开发团队这真的很烦人吗?


4
您如何识别InnoDB表损坏?
我有一些表已分区,并且在复制的从属服务器上有多个索引。将快照(已验证安全)复制到新的从属并将mysqld从5.1.42升级到5.5.15并重新启动复制后,我收到InnoDB崩溃的错误消息“ Invalid pointer ...”。 这些错误已在具有不同硬件和O / S的2台服务器上发生。运行后: ALTER TABLE .... COALESCE PARTION n; 该表的问题消失了。 我的问题是,范围更大,那就是“如何识别InnoDB表损坏?” 或改写为“您如何评估InnoDB表的运行状况?” 是“检查表”可用于识别问题预碰撞唯一的工具? 不确定是否重要,但是崩溃发生在运行:版本:'5.5.15-55-log'套接字:'/opt/mysql.sock'端口:3306 Percona Server(GPL),版本rel21.0,修订版158

1
无法在Mac上本地导入UTF-8编码的SQL数据库
我将确认的UTF-8编码的SQL数据库导入Mac上的Sequel Pro,并在中途抛出此错误: 读取文件时发生错误,因为无法以您选择的编码(自动检测-Unicode(UTF-8))读取文件。 仅执行了1273个查询。 这是因为数据库文件最初来自Windows计算机,并且是换行符,所以塞满了东西吗? 我想即使我尝试通过文件传输将相同的数据库发送到服务器,也会收到此错误,那么如何解决它的编码? -- MySQL dump 10.13 Distrib 5.5.40-36.1, for Linux (x86_64) -- -- Host: localhost Database: ***** -- ------------------------------------------------------ -- Server version 5.5.40-36.1-log /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; /*!40103 SET …

4
如何验证我正在使用SSL连接到mysql?
我已将服务器配置为允许SSL,并修改了客户端〜/ .my.cnf,所以我使用SSL: [client] ssl ssl-cipher=DHE-RSA-AES256-SHA ssl-ca=~/certs/ca-cert.pem 当我使用客户端登录并查看状态时,它在SSL行上列出了一个密码: mysql> \s -------------- SSL: Cipher in use is DHE-RSA-AES256-SHA 如果没有安装wireshark之​​类的工具来验证连接是否安全,是否可以基于此信息假设我正在通过SSL连接?
23 mysql  ssl 

1
MySQL交易大小-太大太大了吗?
我有一个经常运行的导入过程,我希望它是一种“全有或全无”的交易,又名:交易。 涉及的方面很多,进口量可能在10万至100万以上的记录之间。这相当于有效载荷范围从几MB到几百MB的数据。 我知道临时表是另一种选择-但是此方法似乎很方便。 对于这种在提交之间进行大量数据操作的做法,是否有需要注意的警告?(提交后在典型的写/索引加载突发之外)

8
mysqldump可以忽略数据库进行备份的任何选项吗?
我们的服务器中有40个数据库。 我们希望使用mysqldump备份36个数据库。我如何在mysqldump命令中忽略其余4个数据库?mysqldump是否有任何选项可以忽略要在MySQL中备份的数据库? 我知道一般的mysqldump命令,但是它很长。我只想忽略4个数据库,而需要进行剩余的dbs备份。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.