Articles of mysql

如何find并修复碎片化的MySQL表

我用MySQLTuner指出一些表被分割。 我用了 mysqlcheck –optimize -A 优化所有表格。 它修复了一些表,但MySQLTuner仍然发现19个表分割。 我怎么能看到哪些表需要碎片整理? 也许OPTIMIZE TABLE将工作在mysqlcheck没有? 还有什么我应该尝试?

MySQL警告“IP地址无法parsing”

我有MySQL的主/从设置,我已经注意到两个服务器上的MySQL日志文件中的以下警告: [Warning] IP address 'xxx.xxx.xxx.xxx' could not be resolved: Name or service not known 我查过了,DNS查找工作正常,大部分IP都来自中国。 我打算限制在防火墙端口3306上的访问,但是请你帮我理解他们正在尝试做什么。 他们只是试图连接到MySQL服务器。 我可以在哪里find更多的细节。 谢谢

是MySQL端口3306encryption,如果不是,我怎么能encryption它?

我正在通过对我工作系统的安全审计工作,其中一个要求是通过公共/不受保护的networking对所有stream量进行encryption。 由于我们在办公室networking的外部服务器上访问MySQL数据库(通过端口3306),因此与MySQL的连接需要encryption。 它是否已经被encryption,如果没有,我该如何encryption? 我使用的工具和脚本不能使用花哨的SSH端口转发或VPN …是否仍然有可能?

MySQL可以有效地利用64 GB RAM吗?

我们遇到了一个问题,在这个查询大约有5000万行,索引大小为4 GB(表大小大约为6 GB)的表中,导致数据库服务器交换内存并显着减速。 我很确定这是与临时表大小超过,并交换到磁盘。 如果我从32 GB的RAM升级我的数据库服务器到64 GB的RAM,我想知道如果MySQL数据库将能够充分利用这个额外的内存,而不是交换。 我已经经历了一些variables(例如KEY_BUFFER_SIZE等),他们似乎支持超过64 GB的设置值。 但是,MySQL文档说tmp_table_size最大为4 GB。 那么内存升级是值得的吗? “查询大桌面”问题是否会从中受益,还是因为4 GB的限制而没有帮助? 我知道还有其他解决scheme,比如重组表格,以不同的方式进行分区,等等,但是不改变表格的任何内容,会有额外的内存帮助吗? 另外,一般来说,还有其他与内存相关的variables,当从32位移动到64位内存时,MySQL将无法使用这些variables。 我们使用64位Linux(Ubuntu)作为我们的数据库服务器。 谢谢,盖伦

如何列出来自“mysqlimport”工具的警告?

首先,这不是关于从mysql本身加载数据,而是使用命令行工具“mysqlimport”。 我正在使用它将CSV直接加载到表中,并需要查看它生成的警告。 我似乎无法得到警告显示与详细debugging打开。 有任何想法吗? (mysql 5.0.5)

mariadb-server安装后没有mysqld或mysql.server

所以…可能我是个白痴,但是我被卡住了。 我只是在Digial Ocean上build立了一个CentOS 7,我似乎无法运行MariaDB / MySQL服务器。 一些输出 [root@hostname ~]# yum list installed |grep maria mariadb.x86_64 1:5.5.37-1.el7_0 @updates mariadb-libs.x86_64 1:5.5.37-1.el7_0 @updates mariadb-server.x86_64 1:5.5.37-1.el7_0 @updates 所以它的安装,我们至less可以看到客户端? [root@hostname ~]# which mysql /bin/mysql 让我们尝试启动服务器,只是为了好玩 [root@hostname ~]# service mysqld start Redirecting to /bin/systemctl start mysqld.service Failed to issue method call: Unit mysqld.service failed to load: No such file or directory. […]

MySQL:创build一个可以连接多个主机的用户

我正在使用MySQL,我需要创build一个帐户,可以连接从本地主机或从另一台服务器,即10.1.1.1。 所以我在做: CREATE USER 'bob'@'localhost' IDENTIFIED BY 'password123'; CREATE USER 'bob'@'10.1.1.1' IDENTIFIED BY 'password123'; GRANT SELECT, INSERT, UPDATE, DELETE on MyDatabse.* to 'bob'@'localhost', 'bob'@'10.1.1.1'; 这工作正常,但有没有更好的方法来创build一个链接到多个IP的用户帐户,还是需要这样做? 我主要担心的是,将来,权限将被更新为'bob'账户,而不是其他账户。

如何增加MySQL服务器的内存使用率来提高速度?

我有一个运行IIS7和MySQL的8GB内存的Windows 2008服务器。 我一直在跟踪服务器上的内存,CPU和磁盘使用情况,我发现MySQL只使用了250MB的内存,尽pipe我有大量的免费内存,但仍然非常繁忙。 在SQL Server中,我可以很容易地设置我想要使用的内存量,我正在寻找在MySQL中相同的设置。 我如何configurationMySQL使用更多的内存,并减lessCPU和磁盘的使用?

在Ubuntu上脚本安装MySQL

我需要编写一个脚本,从一个新的Ubuntu服务器安装构build我的服务器。 在诸如Apache和PHP之类的东西中,需要安装MySQL。 这里唯一的问题是,当我使用apt-get来安装MySQL的时候,安装程序会popup一个对话框,允许我inputroot密码。 也就是说,人际互动是必需的。 安装过程中如何绕过这个屏幕,避免人为干扰,同时仍然使用apt-get安装MySQL?

我应该使用什么值的thread_cache_size?

我正在使用Asp.Net和MySQL。 在.Net连接string中,我将“最大池大小”设置为150。 如果我运行以下,我得到这些值: SHOW GLOBAL STATUS LIKE 'max_used_connections'; gives 66 SHOW GLOBAL STATUS LIKE 'Threads_created'; gives 66 SHOW GLOBAL STATUS LIKE 'connections'; gives 474 这给了Threads_created / Connections = 0,1392。 所以从这似乎我需要增加thread_cache_size 。 但是,如果我运行SHOW PROCESSLIST ,总是会看到由于.Net创build的池,我打开了很多连接(其中大部分都处于睡眠状态)。 我仍然需要设置thread_cache_size因为我仍然会重用连接池中的连接吗? 如果池大小是150你认为一个很好的价值是将thread_cache_size设置为150+? 这会影响CPU和内存吗?