Articles of mysql

创build多个mysql用户和数据库

在Ubuntu 12.04上使用mysql 5.5,使用自己的数据库创build30个新用户最简单的方法是什么? 我知道如何使用create user命令

使用sed提取mysql备份的一行部分

我偶尔需要从mysqlbackup中提取单个logging 要做到这一点,我首先从备份中提取我想要的单个表… sed -n -e '/CREATE TABLE.*usertext/,/CREATE TABLE/p' 20120930_backup.sql > table.sql 在table.sql中,使用扩展插入对logging进行批处理(每插入100条logging,然后创build一个以INSERT INTO开头的新行),所以它们看起来像… INSERT INTO usertext VALUES (1, field2 etc), (2, field2 etc), INSERT INTO usertext VALUES (101, field2 etc), (102, field2 etc), … 我试图从中提取logging239560,使用… sed -n -e '/(239560.*/,/)/p' table.sql > record.sql 也就是说,当它发现239560时开始stream式传输,当它碰到右括号时停止 但是,这不是我希望的工作,它只是导致完整的插入批输出。 请有人可以给我一些指示,哪里我出错了? 使用awk提取行段,使用sed提取文件中的行会更好吗?

虚拟化生产MySQL服务器

我们有一个支持多个内部业务系统的MySQL服务器。 我们的基础架构团队正在争论我们是否可以将此数据库服务器切换到虚拟机。 从VM方面来看,可用性更高,而物理硬件方面则更高。 我们所能find的大部分信息都比较陈旧(2009年或更早)。 有没有人有任何虚拟化生产MySQL服务器的经验及其对可用性和性能的影响? 一些额外的信息,DB大小约100GB,负载并不那么重,但有很多写道。 编辑:我也应该注意到datadir正在使用SAN卷

获取通用日志在MySQL 5.6.8中的工作

我不能在这个版本的MySQL中使用通用日志。 我在/usr/my.cnf添加了以下几行: general_log = 1 general_log_file = "/var/log/mysql.log" 然后重新启动服务器: [root@localhost ~]# service mysql restart Shutting down MySQL.. SUCCESS! Starting MySQL. SUCCESS! 这些设置似乎被考虑在内: mysql> SHOW VARIABLES LIKE 'general_log%'; +——————+——————–+ | Variable_name | Value | +——————+——————–+ | general_log | ON | | general_log_file | /var/log/mysql.log | +——————+——————–+ 2 rows in set (0.01 sec) 但是日志永远不会被创build: [root@localhost ~]# mysqladmin […]

如何重新安装破损的mysql包

试图修复一个破损的MySQL安装,这发生在从Debian 6.0升级到7.0之后。 我在/etc/apt/sources.list中有dotdeb.org软件包。 root@ginger:/var/log/mysql# apt-get install mysql-client Reading package lists… Done Building dependency tree Reading state information… Done You might want to run 'apt-get -f install' to correct these: The following packages have unmet dependencies: mysql-server-5.5 : Depends: mysql-client-5.5 (>= 5.5.31+dfsg-0+wheezy1) but 5.5.30-1~dotdeb.0 is to be installed E: Unmet dependencies. Try 'apt-get -f install' with […]

10GB + InnoDB表上的丢失索引需要4个多小时

这是我正在使用的表格: CREATE TABLE IF NOT EXISTS `checklist_answer` ( `id` varchar(36) NOT NULL, `created_by` varchar(36) NOT NULL, `date_created` datetime NOT NULL, `updated_by` varchar(36) NOT NULL, `date_updated` datetime NOT NULL, `deleted` int(11) NOT NULL, `checklistresponse_id` varchar(36) NOT NULL, `question_id` varchar(36) NOT NULL, `questionoption_id` varchar(36) DEFAULT NULL, `value` varchar(256) NOT NULL, `source` int(11) NOT NULL, `award_id` varchar(36) DEFAULT […]

如何从MySQL转储中计算AWS RDS实例的大小?

我们正在从一个mysqldump导入一个大的历史数据库到RDS gziped的sql文件是3GB,未压缩的sql文件是18GB。 我们创build了一个30GB的AWS RDS实例并导入文件… RDS实例的空间不足。 我们创build了一个50GB AWS RDS实例,导入文件… RDS实例的空间不足。 如何计算我需要导入此转储的AWS RDS实例的大小? 尝试回答任何问题… 我们无法访问转储来自的机器,尝试以这种方式resize。 我认为这可能是RDS二进制日志或缓慢的日志,正在占用的空间,但看看实际的数据库大小早些时候显示,它实际上是在数据库中… mysql> SELECT table_schema "Database Name", sum( data_length + index_length ) / 1024 / 1024 "Database Size in MB" FROM information_schema.TABLES GROUP BY table_schema ; +——————–+———————-+ | Database Name | Database Size in MB | +——————–+———————-+ | xxxxxxxxxx | 41658.15374756 | | […]

My.cnf中的MySQL Socketconfiguration问题

我的应用程序中有一个导致数据库时间很长的问题。 DB是Percona MySQL 5.5.35。 该应用程序工作完美,可以读取/写入数据库就好了。 问题是,我有非常长的数据库响应时间,这绝对不是花在执行查询上的时间,这些都是简单的,并且caching的。 例如,我会随机将响应时间分成几秒钟,其他时间则只需几毫秒。 有慢查询日志设置和查询速度慢,他们都是简单的插入的小数据和大约80%的读取,整个数据库只有20MB,这是一个互联网论坛。 我确定问题归结于socket,因为我不能在my.cnf的mysqld部分指定套接字。 如果我这样做,我重新启动数据库时出现错误: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 例如,下面是my.cnf的实际工作副本,删除了不相关的部分: [mysql] # CLIENT # port = 3306 socket = /var/lib/mysql/mysql.sock [mysqld] # General # default-storage-engine = InnoDB # Database replication # server-id=1895149 log-bin=mysql-bin log-error=mysql-bin.err binlog_do_db=reefbase1 # MyISAM # key-buffer-size = 32M […]

phpmyadmin不会连接到远程MySQL实例

我有一个LAMP堆栈框(CentOS 6)和另一个运行mysql服务器的CentOS 6框。 我已经在LAMP盒子上安装了phpmyadmin,但是我根本无法把它和我的SQL框交谈。 我已经在config.inc.php中configuration了以下内容 /* Servers configuration */ $i = 0; /* Server: usp-ggdb2 [1] */ $i++; $cfg['Servers'][$i]['verbose'] = 'usp-ggdb2'; $cfg['Servers'][$i]['host'] = '10.1.2.3'; $cfg['Servers'][$i]['port'] = ''; $cfg['Servers'][$i]['socket'] = ''; $cfg['Servers'][$i]['connect_type'] = 'tcp'; $cfg['Servers'][$i]['extension'] = 'mysqli'; $cfg['Servers'][$i]['auth_type'] = 'cookie'; $cfg['Servers'][$i]['user'] = ''; $cfg['Servers'][$i]['password'] = ''; 当我浏览到phpmyadmin网站时,出现以下错误: #2002 – 无法通过套接字“/var/lib/mysql/mysql.sock”连接到本地MySQL服务器(2)服务器没有响应(或本地服务器的套接字configuration不正确)。 我不知道为什么它正在试图连接到本地服务器,因为我只configuration了一台服务器(而且是远程的)。 如果我tcpdump我可以看到,它不会尝试build立一个连接到我指定的IP。 这就好像我的configuration文件被忽略。 有没有办法打开更多的debugging信息? 任何和所有的build议欢迎!

无法build立远程连接到MYSQL数据库

想要远程访问MYSQL数据库,但是在检查yougetsignal(dot)com时,我得到一个消息,说明3306端口是closures的。 configuration:新鲜的服务器(安装了Zpanel的Centos 6.4 64位) 已经采取的步骤: 从my.cnf中删除绑定地址 尝试添加绑定地址作为服务器IP 编辑了IPTABLES以保持端口打开。 从路由器转发端口 在/etc/my.cnf中添加port = 3306 停止IPTABLES 每次更改后重新启动一次mysqld 更改后重新启动IPTABLES 到目前为止没有任何工作。 IP表: # Firewall configuration written by system-config-firewall # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j […]