MySQL Archiver is the implementation of the efficient forward-only archiving and purging strategies I wrote about more than a year ago. It nibbles rows from a table, then inserts them into another table and/or writes them to a file. The object is to do this without interfering with critical online transaction-processing (OLTP) queries. Several people have asked me to release this code, which I originally wrote for my employer. As it turns out, the delay has been fruitful.
I came across a list of possible questions for a security panel and thought it may be interesting to apply some of them to MySQL and see what happens .
* What is the biggest challenge in data security?
I would suggest it is always the same problem with security - human error. It seems that no matter how well you protect the data, people will be the weakest link in the chain. This could come from social engineering, or to the point where the admin does silly things like deleting/dropping data from the wrong area.
How can we address this problem with MySQL? There are some configuration options that let you force safer interaction like safe-updates etc, but it will never be enough. Backups are probably the best answer.
I came across a list of possible questions for a security panel and thought it may be interesting to apply some of them to MySQL and see what happens .
* What is the biggest challenge in data security?
I would suggest it is always the same problem with security - human error. It seems that no matter how well you protect the data, people will be the weakest link in the chain. This could come from social engineering, or to the point where the admin does silly things like deleting/dropping data from the wrong area.
How can we address this problem with MySQL? There are some configuration options that let you force safer interaction like safe-updates etc, but it will never be enough. Backups are probably the best answer.
OK, this is maybe no big news and maybe old, but I needed an
excuse to blog something!
Since MySQL 5.1.15 the /etc/mysql/my.cnf has been added as
default location after /etc/my.cnf. This is great and something I
like keeping /etc a bit cleaner, but it might be tricky for some
not knowing!
I found this the hard way and a bit with red cheeks (I'm a MySQL
Support Engineer after all..). After installing postfix-mysql
Ubuntu package, which also sets up common MySQL stuff, I couldn't
connect to my fresh installed 5.1.19. Confused, I saw it was
using a socket setting I didn't specify. So, /etc/mysql/my.cnf
was read extra to /etc/my.cnf! I said 'doh!' and saw it was
good.
Tip: leave /etc/my.cnf there for a while with a warning like
"You're living in the past dude! Check /etc/mysql/my.cnf", or
something.
Next would be to read /etc/mysql/config.ini for MySQL Cluster
too, but work is on its way to …
Tonight, I went for the first time to the NY Tech Meetup.
(Meetup's founder is also Fotolog's co-founder).
Ever wanted to create your own television station And be able to
professionally produce live shows just like your favorite cable
tv channel? What about being able to instantly add any video from
YouTube, Revver or other video sharing sites? And what if all
this was free? Close your mouth, I can see your mouth watering
already.
Check out what I honestly think has the potential to be ground
breaking: Mogulus. I had the chance to meet and see Max
Haot, CEO of Mogulus, at the NY Tech Meetup. The entire interface
is flash based and therefore no download is necessary.
I think Mogulus seems to be using S3 and …
I know this is a bit old, but I’ve been trying to catch up with all the new stories after a conference, vacation, broken laptop and loads of work.
RedHat Enterprise Linux 5 (RHEL 5) was launched some months ago. I’ve never been a big fan of RedHat in terms of technology. I guess is quite good now, but RPMs scared me years ago and I’m not over it yet.
One of the things I liked is that RedHat proved that the KISS principle doesn’t only apply to software development, but to marketing and sales too. This is their new SLA (service level agreement). Can’t be simpler.
That reminds me of MySQL and their all-you-can-eat support package (MySQL Enterprise Unlimited), easy to understand and with a …
[Read more]
The weather was great here in Seattle this last weekend. Nice and
sunny,..
The Google Gears stuff is still on the brain :)
Pulled the source code to take a look at it. The database code is
laid out in the "database" directory. It is split up for each
browser, with a "common" directory (though little seems to be
common). The code is written in C++, with an object type of
"GearsDatabase" representing the database itself. The code is
lightly commented, but the naming conventions make the code self
readable. There is more database code then what is found in this
directory though, so there is not a full encapsulation of the
database code.
And the real question I wanted to answer for myself?
What about making MySQL work?
We could make MySQL work and reuse the Google code. Not cleanly
though... there interfaces weren't …
OK, this is maybe no big news and maybe old, but I needed an
excuse to blog something!
Since MySQL 5.1.15 the /etc/mysql/my.cnf has been added as
default location after /etc/my.cnf. This is great and something I
like keeping /etc a bit cleaner, but it might be tricky for some
not knowing!
I found this the hard way and a bit with red cheeks (I'm a MySQL
Support Engineer after all..). After installing postfix-mysql
Ubuntu package, which also sets up common MySQL stuff, I couldn't
connect to my fresh installed 5.1.19. Confused, I saw it was
using a socket setting I didn't specify. So, /etc/mysql/my.cnf
was read extra to /etc/my.cnf! I said 'doh!' and saw it was
good.
Tip: leave /etc/my.cnf there for a while with a warning like
"You're living in the past dude! Check /etc/mysql/my.cnf", or
something.
Next would be to read /etc/mysql/config.ini for MySQL Cluster
too, but work is on its way to …
Just about every open source company I know of is hiring right now. There appear to be tons of open jobs at MySQL, SugarCRM, Alfresco, SnapLogic, Hyperic, Zend and elsewhere. This is a good time to be an open source developer. Also many companies are flexible about location and have openings across many departments including product management, sales, support, training etc. …
[Read more]
Current plans call for the use of the HTTP protocol to upload and
retrieve BLOBs to and from the database. The BLOB Streaming
Engine makes this possible by integrating a lightweight HTTP
server directly into the MySQL server.
I am currently working on an alpha implementation of this, and
would like to give a short demonstration of what is possible
using this system.
We start by creating a table using any streaming enabled storage
engine (a streaming enable storage engine, is an engine that
supports the server-side streaming API):
use test;
CREATE TABLE notes_tab (
n_id INTEGER PRIMARY KEY,
n_text BLOB
) ENGINE=pbxt;
INSERT notes_tab VALUES (1, "This is a BLOB streaming test!");
Now assuming the MySQL server is on the localhost, and the BLOB
streaming engine has been set to port 8080, you can open your
browser, and enter this URL:
…