Questions tagged «mysql»

MySQL是Oracle拥有的开源数据库。

3
MySQL复制性能
我在两台机器(主要是myISAM表和基于语句的复制)之间的MySQL 5.5复制性能方面遇到严重问题。二进制日志和mysql数据目录均位于同一Fusion ioDrive上。 最近,当我们需要暂停复制大约2秒钟时,这个问题是一个大问题。3小时。没有其他负载,又花了大约10个小时再次赶上。 如何提高复制性能?机器B基本上是空闲的(很少,IO,16个中的2个内核已用完),因为只有1个mySQL线程正在写入数据。这是我的一些想法: 切换到基于行的复制。在测试中,这只会产生10-20%的性能提升 使用多线程复制升级到mySQL 5.6。我们可以轻松地将数据拆分到单独的数据库中,而基准测试似乎表明这会有所帮助,但是代码似乎还没有准备就绪。 一些有助于加速复制的配置变量 主要问题是,如果在暂停3小时后需要10个小时才能赶上,那么这意味着复制正在10个小时内写入13个小时的数据,或者能够以130%的数据输入速度进行写入。在不久的将来,至少要在Master计算机上进行两次写入,因此迫切需要一种提高复制性能的方法。 机器A: 主 24GB内存 1.2TB Fusion ioDrive2 2个E5620 千兆互连 my.cnf: [mysqld] server-id=71 datadir=/data_fio/mysqldata socket=/var/lib/mysql/mysql.sock tmpdir=/data_fio/mysqltmp log-error = /data/logs/mysql/error.log log-slow-queries = /data/logs/mysql/stats03-slowquery.log long_query_time = 2 port=3306 log-bin=/data_fio/mysqlbinlog/mysql-bin.log binlog-format=STATEMENT replicate-ignore-db=mysql log-slave-updates = true # Performance Tuning max_allowed_packet=16M max_connections=500 table_open_cache = 2048 max_connect_errors=1000 open-files-limit=5000 …

3
无法使用自签名SSL证书连接到mysql
创建自签名SSL证书后,我已经配置了远程MySQL服务器以使用它们(并且启用了SSL) 我使用SSH进入远程服务器,然后尝试使用SSL(MySQL服务器为5.5.25)连接到它自己的mysqld。 mysql -u <user> -p --ssl=1 --ssl-cert=client.cert --ssl-key=client.key --ssl-ca=ca.cert Enter password: ERROR 2026 (HY000): SSL connection error: error:00000001:lib(0):func(0):reason(1) 好的,我记得阅读过通过SSL连接到同一服务器存在一些问题。所以我将客户端密钥下载到我的本地框中,然后从那里进行测试... mysql -h <server> -u <user> -p --ssl=1 --ssl-cert=client.cert --ssl-key=client.key --ssl-ca=ca.cert Enter password: ERROR 2026 (HY000): SSL connection error 目前尚不清楚此“ SSL连接错误”错误指的是什么,但是如果省略-ssl-ca,则可以使用SSL进行连接。 mysql -h <server> -u <user> -p --ssl=1 --ssl-cert=client.cert --ssl-key=client.key Enter …

2
复制mysql数据库是否可以?
最初设置主对主复制时,我使用了: binlog-ignore-db=mysql 并且一直在手动同步用户帐户和授权。这就是我当时使用的方法中所做的简单操作。但是,有什么原因为什么我不应该删除此行并允许mysql数据库本身也进行复制? 如果是这样的话:在我进行更改之前,除了确保所有授予都相同(或者更好地说,整个mysql数据库是相同的)之外,还有什么我应该仔细检查或意识到的吗?

4
我应该备份和还原`mysql`数据库吗?
在创建用于备份和还原整个MySQL服务器的自动化解决方案的过程中,我遇到了一个mysql数据库,该数据库似乎包含用户帐户,权限,元数据等。是否应该备份该数据库?备份并尝试还原它会破坏事情吗? 正如您所想象的,我在Google搜索“备份MySQL的mysql数据库”方面经历了一段时间。

4
无法使用mysqldump备份mysql表。对“ cond_instances”拒绝执行SELECT,LOCK TABL命令
关闭。这个问题是题外话。它当前不接受答案。 4年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我无法mysqldump以mysql root用户身份运行。当我尝试备份mysql表时,出现此错误: mysqldump: Got error: 1142: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'cond_instances' when using LOCK TABLES 有人看过吗?我已经看到一些关于mysql和mysqldump的引用是不同的版本,但是当我运行它们时,它们位于同一目录中。 我正在运行MySQL 5.5.8。



8
如何以低优先级备份mysql数据库?
我想备份数据库,但是要在服务器上有负载的白天。备份不影响在同一服务器上运行的apache和其他数据库至关重要。 应该可以使用mysqldump命令,但是以低优先级运行该命令。 我怎样才能做到这一点? 更新: 貌似简单的使用使用mysqldump漂亮不起作用,因为的mysqldump生成一个新的进程。
15 mysql  backup  database 

11
MySQL的隐藏功能
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 在具有隐藏功能的悠久传统中,让我们列出MySQL中的隐藏功能。 每个答案要放一个功能。 另请参阅: Linux的 隐藏功能PowerShell的 隐藏功能Oracle数据库的 隐藏功能Windows 2008的 隐藏功能Solaris / OpenSolaris的 隐藏功能SQL / SQL Server的 隐藏功能IIS的隐藏功能(6.0 / 7.0)
15 mysql 

5
致命错误:无法打开和锁定特权表:“用户”的表存储引擎没有此选项
当我在Docker映像中使用ubuntu 16.04和最新的mysql 5.7.19-0ubuntu0.16.04.1时显示此错误消息。 该如何解决? 重现错误 获取Dockerfile: FROM ubuntu:16.04 RUN apt update RUN DEBIAN_FRONTEND=noninteractive apt install -y mysql-server (也在此处可用) 构建并运行: docker build -t mysqlfail . docker run -it mysqlfail tail -1 /var/log/mysql/error.log 将会显示以下错误日志: 2017-08-26T11:48:45.398445Z 1 [警告] root @ localhost是使用空密码创建的!请考虑关闭--initialize-insecure选项。 这正是我们想要的:尚未设置root密码的mysql。 在过去(ubuntu 14.04 / mysql 5.5)a service mysql start是可能的。现在,如果您尝试这样做,它将失败 docker run -it …
15 mysql  docker 

4
MySQL(MariaDB)无法启动
我在64位安装上运行Arch Linux 4.8.4-1。我通过安装了MariaDB pacman。当我尝试从开始时systemctl start mysqld,它给了我 Job for mariadb.service failed because the control process exited with error code. See "systemctl status mariadb.service" and "journalctl -xe" for details. 的输出systemctl status mariadb.service是 ● mariadb.service - MariaDB database server Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled) Active: failed (Result: exit-code) since Wed 2016-11-02 …

7
使用LDAP进行MySQL身份验证?
我们为用户运行了几十个不同的MySQL服务器。它们使用MySQL的免费/开源版本,而不是商业版本。在这些服务器上管理帐户密码很麻烦。 是否有任何插件可以使我们使用LDAP来帮助管理MySQL特权?至少,我们希望从LDAP服务器获取一些用户名和密码。 我们正在使用MySQL 5.1和5.5。如果要实现此功能,我们可能愿意升级到MySQL 5.6。 我们希望任何工具都基于CLI,而不需要GUI或Web界面。

3
如何在mysql中人为地创建慢查询?
我将在几周内进行演示。该演示的一部分是针对基本的mysql故障排除,包括使用慢速查询日志。我已经生成了一个数据库并安装了我们的应用程序,但是它的数据库很干净,因此很难产生足够的问题。 我已经尝试了以下方法来在慢查询日志中获取查询: 将慢查询时间设置为1秒。 删除多个索引。 强调系统: stress --cpu 100 --io 100 --vm 2 --vm-bytes 128M --timeout 1m 使用wget编写了一些基本的网页调用脚本。 这些都没有产生慢查询。还有另一种人为地强调数据库产生问题的方法吗?我没有足够的技能来编写复杂的Jmeter或其他负载生成器。我希望可能需要内置于mysql或其他Linux技巧的东西,以免压力过大。

2
安全地连接到MySQL-MySQL的SSL,Stunnel和SSH隧道
我们有一个连接到MySQL服务器的PHP应用程序,并且希望保护Web和应用程序服务器与数据库之间的连接安全。 在高峰时间,Web服务器会与数据库建立数百个并发连接,并执行许多小的读写操作。我知道这不是最佳选择,并且正在努力与此并行地减少数据库连接的数量。 我们目前没有打开与数据库的持久连接,尽管我们打算将来我想独立于此实现。 从硬件角度来看-MySQL服务器和Web服务器一样都相当庞大(16核)。它们是专用服务器。 然后,我的问题围绕保护和加密与数据库服务器的连接的最有效方式。 到目前为止,我的研究表明,主要的性能开销是建立SSL连接-一旦连接了SSL,几乎不会降低性能。这是关于确保连接安全的每种方法的内容: MySQL SSL证书-与普通SSL一样工作。可以使用客户端证书来防止未经授权的连接。与我们现有的设置没有持久的联系。仍然必须让MySQL在防火墙的开放端口上侦听。 漏斗。设置端口到端口ssl隧道。不必重新配置MySQL。可以关闭普通的MySQL侦听端口,以防止恶意的MySQL连接尝试。不支持持久连接。性能未知。 SSH隧道。在客户端和服务器之间创建SSH隧道。不必重新配置MySQL。可以关闭普通的MySQL侦听端口,以防止恶意的MySQL连接尝试。支持持久连接,但是有时会丢失。性能未知。 就我所能达到的程度。我知道基准测试的局限性-以运行基准测试的经验,很难模拟现实世界的流量。我希望有人根据自己保护MySQL的经验提供一些建议? 谢谢


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.