标签: mysql

如何将 MySQL 用户表从一台服务器复制到另一台服务器?

我正在设置一个新的 MySQL 服务器,我想为它提供与现有服务器(即将消失)相同的一组用户名、允许的主机和密码。

仅转储用户表然后将其加载到新服务器上是否可行?

还有比这更好的方法吗?

mysql export user-permissions user-accounts

40
推荐指数
6
解决办法
11万
查看次数

我的 /var/lib/mysql 目录中的 ibdata1 文件是什么?

登录到我的 Webmin 控制面板,我注意到几乎所有的磁盘空间都已满。我在我的系统上搜索了十个最大的文件/目录,发现一个名为 ibdata1 的文件占用了大约 94GB 的空间。它驻留在我的 /var/lib/mysql 目录中。

ibdata1 有什么作用?我可以安全地删除它吗?我的假设是它是某种垃圾,但这只是一个疯狂的猜测。

mysql maintenance troubleshooting ubuntu-12.04

40
推荐指数
2
解决办法
9万
查看次数

Mysql:处理 192 万亿条记录......(是的,192 万亿条)

这是问题...

考虑到 192 万亿条记录,我应该考虑什么?

我主要关心的是速度。

这是桌子...

    CREATE TABLE `ref` (
  `id` INTEGER(13) AUTO_INCREMENT DEFAULT NOT NULL,
  `rel_id` INTEGER(13) NOT NULL,
  `p1` INTEGER(13) NOT NULL,
  `p2` INTEGER(13) DEFAULT NULL,
  `p3` INTEGER(13) DEFAULT NULL,
  `s` INTEGER(13) NOT NULL,
  `p4` INTEGER(13) DEFAULT NULL,
  `p5` INTEGER(13) DEFAULT NULL,
  `p6` INTEGER(13) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY (`s`),
  KEY (`rel_id`),
  KEY (`p3`),
  KEY (`p4`)
    );
Run Code Online (Sandbox Code Playgroud)

这是查询...

SELECT id, s FROM ref WHERE red_id="$rel_id" AND p3="$p3" AND p4="$p4"

SELECT rel_id, p1, p2, p3, p4, p5, p6 …
Run Code Online (Sandbox Code Playgroud)

mysql database

39
推荐指数
2
解决办法
2万
查看次数

在命令行上使用 MySQL 密码的安全替代方法是什么?

我们有一个 PHP 命令行脚本来对数据库进行版本控制。每当开发人员添加新的数据库补丁时,我们都会运行此脚本。

该脚本使用 MySQL 命令行运行补丁:

system('mysql --user=xxx --password=xxx < patch.sql');
Run Code Online (Sandbox Code Playgroud)

但是,MySQL 5.6 现在发出以下警告:

警告:在命令行界面上使用密码可能不安全

这显然是正确的,但对用户来说可能是也可能不是问题。

  • 那么安全的替代方案是什么?
  • 或者,是否可以禁用此警告?

请注意,我不想依赖外部密码文件。

mysql php command-line-interface

39
推荐指数
3
解决办法
3万
查看次数

将 MySQL 的绑定地址设置为 0.0.0.0 有多糟糕?

我正在尝试允许远程服务器访问当前与 Web 应用程序共享 Linux 服务器的 MySQL 实例。根据文档,唯一可能的方法(除非我没有正确理解)是将bind-address指令设置为0.0.0.0,这会导致 MySQL 允许从任何可以生成有效用户的 IP 进行访问。

所以,两个问题:

  1. 这对安全有多大危害?
  2. 有没有更好的方法来允许本地和远程与 MySQL 交互?

mysql security linux

37
推荐指数
1
解决办法
6万
查看次数

允许linux root用户mysql root无需密码访问

在 cPanel 上,当我以 root 身份登录并键入“mysql”而没有主机名和密码时,它使我可以直接访问 mysql root 用户。

我想为我的一台非 cpanel 服务器执行此操作,其中 linux root 用户以与在 cPanel 上相同的方式获取密码较少的登录到 mysql root 用户。

这可能吗 ?

mysql security linux password root

37
推荐指数
3
解决办法
13万
查看次数

如何启用 MySQL 日志记录?

我在 OS X 10.6.1 上运行 MySQL 5.0.45,但我无法让 MySQL 记录任何内容。我正在调试一个应用程序,需要查看所有查询和错误。

我添加到etc/my.cnf:

[mysqld]
bind-address = 127.0.0.1
log = /var/log/mysqld.log
log-error = /var/log/mysqld.error.log
Run Code Online (Sandbox Code Playgroud)

我使用 sudo 创建了两个日志文件,将权限设置为 644,然后重新启动 MySQL。

我提到了OS X 上我的 mysql 日志在哪里?以便排除故障。

跑步:

ps auxww|grep [m]ysqld
Run Code Online (Sandbox Code Playgroud)

返回:

_mysql      71   0.0  0.8   646996  15996   ??  S     7:31PM   0:01.10 /usr/local/mysql/libexec/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/var --pid-file=/usr/local/mysql/var/Macintosh-41.local.pid
_mysql      46   0.0  0.0   600336    744   ??  Ss    7:30PM   0:00.03 /bin/sh /usr/local/mysql/bin/mysqld_safe
Run Code Online (Sandbox Code Playgroud)

并运行:

$(ps auxww|sed -n '/sed -n/d;/mysqld /{s/.* \([^ ]*mysqld\) .*/\1/;p;}') --verbose --help|grep '^log'
Run Code Online (Sandbox Code Playgroud)

返回:

log                               /var/log/mysqld.log
log-bin …
Run Code Online (Sandbox Code Playgroud)

mysql logging

36
推荐指数
3
解决办法
24万
查看次数

MySQL InnoDB - innodb_file_per_table 缺点?

默认情况下,MySQL InnoDB 将所有数据库的所有表存储在一个全局文件中。您可以通过在配置中设置 innodb_file_per_table 来更改这一点,然后为每个表创建一个数据文件。

我想知道为什么innodb_file_per_table默认情况下不启用。使用它有什么缺点吗?

mysql innodb

36
推荐指数
3
解决办法
3万
查看次数

为什么在剩余大量可用内存时使用 Swap?

我有很好的网络(专用)服务器,具有良好的内存资源:

System information
Server load     2.19 (8 CPUs)   
Memory Used     29.53% (4,804,144 of 16,267,652)    
Swap Used   10.52% (220,612 of 2,097,136)   
Run Code Online (Sandbox Code Playgroud)

如您所见,当有大量可用内存时,我的服务器正在使用交换。

这是正常的还是配置或编码有问题?

注意
,由于某种原因,我的 MySQL 进程使用了​​超过 160% 的 CPU 功率;我不知道为什么,但我没有超过 70 个同时用户......

mysql linux php

36
推荐指数
2
解决办法
2万
查看次数

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

所以......可能我是个白痴,但我被卡住了。我刚刚在 Digial Ocean 上设置了 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  
Run Code Online (Sandbox Code Playgroud)

这样就安装好了,我们至少可以看到客户端吗?

[root@hostname ~]# which mysql
/bin/mysql
Run Code Online (Sandbox Code Playgroud)

让我们尝试启动服务器,只是为了好玩

[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.
[root@hostname ~]# mysqld
-bash: mysqld: command not found
[root@hostname ~]# mysql.server start
-bash: mysql.server: command not found
[root@hostname ~]# 
Run Code Online (Sandbox Code Playgroud)

这就是我迷路的地方。查看实际安装的内容,没有服务器/守护程序

[root@hostname ~]# ls …
Run Code Online (Sandbox Code Playgroud)

mysql centos mariadb

36
推荐指数
2
解决办法
24万
查看次数