Questions tagged «mysql»

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


5
根据先前和实际的行值计算行值
大家好,谢谢您的帮助。 我遇到以下情况:称为语句的表,其中包含字段id(int),stmnt_date(date),借方(double),贷方(double)和余额(double) 我想按照以下规则计算余额: 第一行余额(按时间顺序)=借方-贷方,其余各行 当前行余额=按时间顺序上一个行余额+当前行借方-当前行贷方 正如您在上面的图片中看到的,行没有按日期排列,这就是为什么我按时间顺序两次使用单词来强调stmnt_date值的重要性的原因。 非常感谢您的帮助。
9 mysql  row 


1
如何用双引号附加列的值(在字符串周围添加引号)
我有一个表,其列为TEXT类型。列中为数字字符。我想要实现的是将这些字符用双引号引起来。 例: NAME ID QTY Apples A1 1 Oranges O1 1 Foo F1 0 理想输出: NAME ID QTY Apples A1 "1" Oranges O1 "1" Foo F1 "0" 我尝试运行以下SELECT语句,但未获得预期的结果。也许您可以指引我正确的方向? SELECT `qty`, CHAR('"'|| qty ||'"') FROM `myTable`; 谢谢
9 mysql  concat 

2
如何在/etc/my.cnf文件中使binlog-format = ROW成为启动默认值?
我可以运行查询SET GLOBAL binlog_format ='ROW',它适用于该会话。 停止并重新启动MySQL后,如何使该设置生效? 注意:我使用的是MySQL 5.5.19版本(带有Moodle),我刚刚从MyISAM升级到InnoDB,因此需要此新设置。 我尝试将这两个命令(分别)添加到my.cnf:binlog-format = ROW和binlog_format = ROW,但都不起作用。每次更改my.cnf时,我都会停止并重新启动MySQL。 我未设置此错误而得到的错误是邪恶的错误消息: 调试信息:无法执行语句:由于BINLOG_FORMAT = STATEMENT,并且至少一个表使用了仅限于基于行的日志记录的存储引擎,因此无法写入二进制日志。当事务隔离级别为READ COMMITTED或READ UNCOMMITTED时,InnoDB仅限于行记录。
9 mysql  innodb  my.cnf 

1
如何禁用匿名登录?
根据MySQL文档,您可以通过添加密码或删除匿名帐户来强化MySQL服务器。 如果要阻止客户端以没有密码的匿名用户身份进行连接,则应该为每个匿名帐户分配一个密码,或者删除这些帐户。 加固之前,我的用户表如下所示。 mysql> select user,host,password from mysql.user; +------------------+-----------+-------------------------------------------+ | user | host | password | +------------------+-----------+-------------------------------------------+ | root | localhost | *F3A2A51A9B0F2BE246XXXXXXXXXXXXXXXXXXXXXX | | root | gitlab | | | root | 127.0.0.1 | | | root | ::1 | | | | localhost | | | | gitlab …
9 mysql  security 

4
MYSQL错误2049(HY000):使用旧的(4.1.1之前版本)身份验证协议ref的连接(启用了客户端选项“ secure_auth”)
当我尝试将5.0版的所有数据库转储还原到5.6版时,它都还原了,此后,当我尝试重新连接时,出现以下错误 ERROR 2049 (HY000): Connection using old (pre-4.1.1) authentication protocol ref used (client option 'secure_auth' enabled).. 我尝试在My.ini中添加以下行并重新启动服务,但是问题一直持续到。 skip-grant-tables以下链接说它是MYSQL中的错误。 https://github.com/santisaez/powerstack/blob/master/packages/mysql/mysql-powerstack-secure_auth.patch 有人对此解决方案有任何修补程序吗?

2
MySQL复制:“ PRIMARY键的重复条目”
您能否帮助我了解为什么在完全重新同步后,在从属服务器上收到“ PRIMARY键的重复项”。 基本上,“ mysqldump”几乎整个晚上都在运行,然后还原过程花费了几个小时,所以当我启动从站时,它比主站晚了约63874秒。 从属服务器是只读的(read_only),并且在重新同步过程中没有任何写操作,因此我不明白为什么会有重复的键。 二进制日志格式在主数据库上设置为MIXED。 用于备份数据库的命令: mysqldump --opt --single-transaction -Q --master-data=2 db | bzip2 -cz > db.sql.bz2 从属服务器仅使用以下选项从主控服务器(db-> db_backup)复制一个数据库: replicate-wild-do-table = db_backup.% replicate-rewrite-db = db->db_backup

2
单个查询的运行时间为10毫秒,使用UNION ALL则需要290毫秒以上的时间(MySQL DB记录为770万)。如何优化?
我有一个表,用于存储教师可用的约会,允许两种插入: 每小时收费:完全自由地每天为每位老师添加无限制的时间段(只要时间段不重叠即可):15年4月15日,老师可能在10:00、11:00、12:00和16:00有时间段。选择特定的老师时间/时间后,将为一个人服务。 时间段/范围:4月15日,另一位老师可以在10:00至12:00,然后从14:00至18:00上班。一个人按到达顺序得到服务,因此,如果教师在10:00到12:00之间工作,则在此期间到达的所有人员都将按到达顺序(本地队列)参加。 由于必须在搜索中返回所有可用的教师,因此我需要将所有空位与到达范围的顺序保存在同一张表中。这样,我可以通过date_from ASC进行排序,在搜索结果上首先显示第一个可用的广告位。 当前表结构 CREATE TABLE `teacher_slots` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `teacher_id` mediumint(8) unsigned NOT NULL, `city_id` smallint(5) unsigned NOT NULL, `subject_id` smallint(5) unsigned NOT NULL, `date_from` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `date_to` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `status` tinyint(4) NOT NULL DEFAULT …
9 mysql 

2
使用'name'@'%'向MySQL添加用户失败,错误1396
我只是尝试使用添加新用户到MySQL CREATE USER 'name'@'%' IDENTIFIED BY '...' 但是,它失败并显示以下错误: ERROR 1396 (HY000): Operation CREATE USER failed for 'name'@'%' 仅为本地主机添加用户可以正常工作: CREATE USER 'name'@'localhost' IDENTIFIED BY '...' 我不知道可能是什么问题。我将不胜感激。 (我正在使用mysql Ver 14.14 Distrib 5.1.66。)

1
导入时转储的mysql表替换了现有记录
我使用mysqldump进行了转储。 mysqldump -u... -p... mydb t1 > mydb_table.sql 然后,我将转储导入到另一个具有相同表但记录不同的数据库中。 mysql -u...-p... mydb < mydb_tables.sql 导入数据库的记录从primary_key 1到1000,导出数据库的记录从5000到10,000。 但是在导入时,现有记录(即1到1000)被删除了。 怎么样??为什么??如果它是默认行为,那么我可以给转储提供哪些选择,以免下次发生。

2
MySQL二进制日志-跳过表
有没有办法跳过二进制日志中的特定表? 我已将二进制日志配置为夜间备份之间的增量备份策略。但是,我们有一个巨大的参考表,我们将从批处理过程中每晚进行更新(70GB表)。该表仅被读取,并且每晚使用进行更新mysqlimport。 在此仅供参考的表的更新过程中,二进制日志会导致相当严重的延迟(尤其是当我执行完整的70GB更新时)。基本上必须做两次70GB。y 参考表当前正在使用MyISAM(我选择了InnoDB尝试加载它,因此尝试使用MyISAM)。
9 mysql  logs  binlog 


1
服务器并发truncate命令崩溃后,MySQL INNODB损坏
我认为我的服务器今天崩溃了,原因是我们的一个INNODB表上有一个并发的truncate table命令。服务器可以重新启动,但是在启动之后,每次我尝试发出SQL命令时,都会出现以下错误: ERROR 2006 (HY000): MySQL server has gone away 这是在日志中发生的事情: 121206 01:11:12 mysqld restarted 121206 1:11:13 InnoDB: Started; log sequence number 275 559321759 InnoDB: !!! innodb_force_recovery is set to 1 !!! 121206 1:11:13 [Note] /usr/libexec/mysqld: ready for connections. Version: '5.0.95-log' socket: '/var/lib/mysql/mysql.sock' port: 3306 Source distribution InnoDB: Error: trying …

2
mysql.proc不断崩溃,无法执行mysqldump吗?
由于InnoDB的某些问题,我将所有数据库转储到新服务器上: mysqldump -E -R --all-databases | pv -b | mysql -u root -p -h new.server 转储过程因错误而停止: 59.9kB assword: 59.9kB ERROR 145 (HY000) at line 2970: Table './mysql/proc' is marked as crashed and should be repaired 228MB mysqldump: Got errno 32 on write 我运行了以下命令来修复所有数据库中的所有表: mysqlcheck --auto-repair --all-databases 当我检查mysql.proc状态时,会得到: mysql> check table …

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.