Showing entries 51 to 60 of 378
« 10 Newer Entries | 10 Older Entries »
Displaying posts with tag: Technology (reset)
MySQL Connector/Net 6.3.7 has been released

MySQL Connector/Net 6.3.7, a new version of the all-managed .NET driver for MySQL has been released. This is a maintenance release to our existing 6.3 products and is suitable for use in production environments against MySQL server 5.0-5.5.

It is now available in source and binary form from [http://dev.mysql.com/downloads/connector/net/6.3.html] and mirror sites (note that not all mirror sites may be up to date at this point of time

- if you can’t find this version on some mirror, please try again later or choose another download site.)

Please review the change log for details on what is fixed or changed in this release.


[Read more]
Installing Perl DBI and DBD-mysql on Windows 64 bit

I had trouble getting Perl DBI and DBD-mysql on Windows in the past. In addition, on Windows 64-bit, you sometimes see recommendations of using 32-bit Perl.

Today I got to test the latest 64-bit ActiveState Perl distro for Windows, version 5.12.3.1204. I tested it on Windows 2008 R2 64-bit. I am happy to report that it works. I am not categorically recommend FOR the installation of 64-bit Perl on Windows, though.

Here are the steps:
1. Get the ActiveState Perl 64-bit package for Windows and install it, following all the default options;
2. On command prompt, do:
cd c:\perl64\bin
ppm install DBI
ppm install DBD-mysql

I then tested against both Oracle’s MySQL 5.5 Community Server and MariaDb’s 5.2.7 on Windows with MaatKit’s mk-table-checksum to confirm. And it worked …

[Read more]
MySQL Connector/Net 6.4.1 beta has been released

MySQL Connector/Net 6.4.1, a new version of the all-managed .NET driver for MySQL has been released.  This release is of Beta quality and is intended for testing and exposure to new features.  We strongly urge you to not use this release in a production environment.

Version 6.4.1 is intended for use with versions of MySQL from 5.0 – 5.5

It is now available in source and binary form from [http://dev.mysql.com/downloads/connector/net/6.4.html] and mirror
sites (note that not all mirror sites may be up to date at this point of time
- if you can’t find this version on some mirror, please try again later or choose another download site.)

** New features found in 6.4 include (please see release notes for more information) **

* Windows Authentication*
This release includes our new support for Windows …

[Read more]
Mythbusters: How to configure InnoDB buffer pool on large MySQL servers

Mythbusters: How to configure InnoDB buffer poll on large MySQL servers

Yesterday I wrote about the dangers in using top on systems with 100+ GB of RAM, not to mention future systems with 1+ TB. A related topic is, how should I configure MySQL on such a large system?

There is a classic rule of thumb that on a dedicated MySQL server one should allocate 80% of memory to the InnoDB buffer pool. On a 128GB system that is 102.4 GB. This means that I would leave 25.6 GB of RAM "unused". So surely on these large systems, this old piece of advice cannot hold anymore. If the database was previously running on a server that in total had less than that altogether, it seems wrong to leave so much memory just unused. Let's label the old rule of thumb tentatively a "myth" and ask mythbusters to figure out a new MySQL configuration …

[Read more]
top -M or when rounding errors get serious

We all know that a megabyte in binary system is not the same as one million bytes (in decimal system). But have you actually cared much about it? I have to admit I haven't. I know there is a small rounding error, but by and large I always treated 2^10 = 1 kB = 1024 bytes and 10^3 = 1 kB = 1000 as the same thing. (Update: Opening sentence was edited to remove units MB and MiB since it seems even I managed to use them backwards! The math in this article is correct. The rest of the article uses MB, GB and TB mostly to refer to binary magnitudes, which is apparently incorrect. See comments for wikipedia links and discussion.)

More importantly, when you move into larger numbers, rounding errors usually become even less important. Unfortunately, in this case they become bigger:

read more

Finding long running INNODB transactions

Notes:
1. The script prints out elapsed time since transaction started, MySQL thread id, and the kill statement for transactions running longer than a defined threshold value, in seconds. Just copy, paster, and then execute the kill statement if you want to terminate the long transaction(s);
2. Adjust shellCmd variable;
3. Adjust longRunningThreshold value as needed. It is measured in seconds;
4. No special libraries/modules needed, as long as there is a working mysql client;
5. re module is used for regex processing. Good place to find examples of regular expression search and grouping. A status variable is used to assist locating MySQL thread id once a transaction running longer than the defined threshold is found.

import re, shlex, subprocess 

def runCmd(cmd):
    proc = subprocess.Popen(shlex.split(cmd), stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=False)
    out, err = proc.communicate()
    ret = …
[Read more]
FUD/not-FUD in NoSQL

When I think of FUD (Fear, Uncertainty, Doubt), I think of the intangible (and irrational) sense that a given technology is inherently bad, will cause your site to go down, and your girlfriend to leave you.  

Over time SQL FUD has cropped up from all the NoSQL evangelists hammering on about how NoSQL solves all the traditional problems RDBMSs have.  Do they have valid points?  In a lot of cases, sure.  But that doesn’t mean that NoSQL is without its own problems.

Part of making peace between the SQL and NoSQL camps should include being honest about the strengths and weaknesses of each technology, so engineering decisions get made, not sales decisions.  Every technology has its strengths and weaknesses, just like physical materials in, say, …

[Read more]
MySQL Connector/Net 6.4.0 Alpha has been released

MySQL Connector/Net 6.4.0, a new version of the all-managed .NET driver for MySQL has been released. This release is of Alpha quality and is intended for testing and exposure to new features. We strongly urge you to not use this release in a production environment.

Version 6.4.0 is intended for use with versions of MySQL from 5.0 – 5.5

It is now available in source and binary form from here and mirror
sites (note that not all mirror sites may be up to date at this point of time
- if you can’t find this version on some mirror, please try again later or choose another download site.)

New features in this release (please see release notes for more information)

Windows Authentication
This release includes our new support for Windows authentication when connecting to MySQL Server …

[Read more]
Setting up replication with XtraBackup

I attended Vadim Tkachenko’s talk on XtraBackup during MySQL conference in Santa Clara last week. Backups are obviously very important, but the use case I had in mind is this:
Replicating a database that has Innodb tables in it, while keeping both master and slave on line if possible.

Tangent: by the way, I love the native backup utility that was once promised in MySQL 6.0, similar to SQL Server’s way of backup. It was like running “BACKUP myDb to DISK = ‘/backupDirectory/myDb.bak'” under mysql client, but I digress…

I have used mysqldump to accomplish this in the past, but I wondered how XtraBackup would fare in this task, especially after hearing Vadim’s talk and reading news on Percona’s development effort. To cut to the chase, this is my conclusion. Reproducing steps are listed immediately afterwards.
1. …

[Read more]
Poor man’s MySQL replication monitoring

Using MySQL replication slave(s) for reporting (with potentially different storage engines) is a very popular way of scaling database read activities. As usual, you want to be on top of things when replication breaks so end users can be notified and issues addressed. When Nagios, Zabbix, or whatever monitoring tools are not available or otherwise not accessible, there got to be another way. I wrote the following Python script for that purpose. The script can then be scheduled via crontab to check replication status in an interval you define. When things break, you get a notification email.

Notes:
1. I toyed with MySQLdb Python module for this task, but I don’t like the fact that I cannot easily retrieve values via column names in a MySQLdb cursor. If there is an easier way that I am not aware of due to my ignorance, I’d appreciate it if you could let me know.

I then tried pyodbc, but got a Python 2.4 compiling issue. I …

[Read more]
Showing entries 51 to 60 of 378
« 10 Newer Entries | 10 Older Entries »