Articles of mysql

MySQL日志显示3个root用户,2个没有密码? 为什么?

我们的MySQL日志显示警告重新启动约2个root用户没有密码。 我进入MySQL并检查所有用户: mysql> select * from mysql.user; 并看到: Host | User | Password localhost root *76685yt868itetc web12-b0 root 127.0.0.1 root 首先,为什么有3个root用户(因为我们有本地主机,所以我们需要127.0.0.1)? 其次,为什么他们两个没有设置密码? 第三,web12-b0和127.0.0.1主机是否具有完全的根访问权限,而不必使用密码(如出现)? 第四,是否有一些有效的理由,或者我应该build议pipe理员把密码放在这两台主机上? 感谢您的回答。

为什么mysql客户端实用程序不使用我指定的端口?

我试图使用MySQL(命令行实用程序)通过SSH隧道连接到MySQL服务器。 问题是这个mysql客户端不会使用我指定的端口。 例如,我运行这个:$ mysql -uroot –port = 1234 然后它只连接到端口3306。 为什么这样做? 我怎么能强制这个客户端连接到端口1234(那么它应该告诉我,端口1234是不可连接的)。

专用服务器自动备份解决scheme

我在云环境中有一个专用的Ubuntu Web服务器,我正在寻找一个很好的方法来做自动备份。 我想用web应用程序备份一些目录,以及我所有的MySql数据库。 至于目标:每两个小时在本地创build快照,每六个小时创build一个远程ftp服务器。 同时删除超过7天的备份存档(localy + ftp),并通过电子邮件通知任何问题。 现在为了实现这个function,我使用了cron + shell脚本和http://www.mysqldumper.net/ ,但实际上这并不能满足我的需求。 mysqldumper不会自动知道有关新的数据库,并且shell脚本不会通知问题。 这是我必须时不时检查,我不信任。 我GOOGLE了一下,似乎大多数人用shell脚本解决这个问题。 这是你可以信任的方法吗? 有没有任何web-gui工具,我错过了? 也许这样做有一个更聪明的开始? 我有点困惑。

join_buffer_size> = 4 M不build议?

我从MysqlTunner.pl得到这个消息: join_buffer_size> = 4 M这不build议 另一方面,我读了Debian关于jont_buffer_size的my.cnf指南: 此缓冲区用于优化完整JOIN(没有索引的JOIN)。 在大多数情况下,这样的JOIN对性能来说是非常糟糕的,但是将这个variables设置为一个较大的值会降低对性能的影响。 请参阅“Select_full_join”状态variables以查看完整JOIN的计数。 如果find完全连接,则为每个线程分配一个线程 所以我想知道我应该相信哪一个? 目前我已经设置了join_buffer_size = 64M,作为应对高stream量站点的可扩展性问题的一部分,其中查询并不是特别优化的。 我很欣赏你的提示。

致命错误:无法打开和locking权限表:“用户”的表存储引擎没有此选项

当我在Docker镜像中使用ubuntu 16.04和最新的mysql 5.7.19-0ubuntu0.16.04.1时,出现这个错误信息。 可以做些什么来解决这个问题? 重现错误 从中获取Docker文件 https://github.com/BITPlan/docker-stackoverflowanswers/blob/master/870568/Dockerfile或从下面复制。 跑 docker build . 并检查问题 docker run –it <image> /bin/bash 然后检查mysql错误日志: tail -1 /var/log/mysql/error.log 2017-08-26T11:48:45.398445Z 1 [Warning] root@localhost is created with an empty password ! Please consider switching off the –initialize-insecure option. 看到我们想要的东西 – 一个没有设置root密码的mysql。 继续我们需要做什么? 过去(ubuntu 14.04 / mysql 5.5)a service mysql start 是可能的。 现在,如果你尝试这个失败 service mysql […]

将大表从MyISAM转换到Innodb

我有一个大约300M行的MyISAM格式的表格,我想转换成Innodb 我最初的目标是通过改变表格模式来减less使用,使索引更简单。 我倾倒了所有的桌子,放弃了它,用较less的索引来重新创build它,现在我正在重新导入。 但是,我忘了指定它应该是innodb而不是myisam。 我可以只做标准的ALTER TABLE … ENGINE = INNODB吗? 有这样一个巨大的桌子,我应该知道有什么特别的东西吗? 数据导入操作需要大约12个小时 – 我不喜欢这样做。 因此,我为什么要把它转换。

如何在my.cnf中将默认表types设置为innodb?

对于MySQL …有没有一种方法来设置它,使每个创build的表是innodb?

为什么在“插入查询”locking整个表之前“开始事务”?

我写了一个存储过程来插入一条logging。 我在插入查询之上添加了“Begin Transaction”并执行查询。 我注意到,另一个应用程序正在显示一个网页与来自同一张表的logging,在插入完成时被吊死。 为什么开始事务locking整个表? 作家不应该阻止读者。 它应该默认为ON。 我正在使用SQL Server 2005 Express。 我也想知道Oracle和MySQL如何处理相同的情况。

当我杀死一个仍在处理的alter table线程时会发生什么?

如果你改变了一个表来添加一个索引,如果这个线程在处理过程中被终止了,会发生什么? 包含MySQL: 在ALTER TABLE期间,在从原始表中读取每一行的行之前检查kill标志。 如果kill标志被设置,则语句被中止,临时表被删除。 编辑:只要确保它不会导致任何其他问题。

如何为mySQL分配内存限制?

MySQL的调谐器报告说,MySQL可以使用安装的RAM的166%,我如何限制RAM的使用? [!!]最大可能的内存使用量:426.8M(已安装RAM的166%)