<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Dev-Blog of DoesntMatter &#187; HowTo</title>
	<atom:link href="http://dev-blog.doesntmatter.de/category/howto/feed/" rel="self" type="application/rss+xml" />
	<link>http://dev-blog.doesntmatter.de</link>
	<description>Software technologies, tips, guides and tutorials</description>
	<lastBuildDate>Sun, 29 Apr 2012 12:57:20 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
		<item>
		<title>HowTo: Debugging with GDB</title>
		<link>http://dev-blog.doesntmatter.de/2012/04/29/howto-debugging-with-gdb/</link>
		<comments>http://dev-blog.doesntmatter.de/2012/04/29/howto-debugging-with-gdb/#comments</comments>
		<pubDate>Sun, 29 Apr 2012 12:18:02 +0000</pubDate>
		<dc:creator>DoesntMatter</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[GDB]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Scripting]]></category>

		<guid isPermaLink="false">http://dev-blog.doesntmatter.de/?p=526</guid>
		<description><![CDATA[Since some month I am working with MMORPG emulators again, written in C++. Because of this I needed a powerful debugging tool and so I chose GDB. I will show you some nice-to-knows for debugging with GDB on a simple &#8230; <a href="http://dev-blog.doesntmatter.de/2012/04/29/howto-debugging-with-gdb/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Since some month I am working with MMORPG emulators again, written in C++. Because of this I needed a powerful debugging tool and so I chose <a title="GDB" href="http://sources.redhat.com/gdb/" target="_blank">GDB</a>.<br />
I will show you some nice-to-knows for debugging with GDB on a simple code sample.</p>
<p><em>I recommend at least basic knowledge of C++, Linux and debugging to understand most of the things explained in the following part.</em></p>
<p>Assume we have this small C++ code block:</p>
<pre class="brush:cpp">int MyDivide(int, int);

int main()
{
    int x, y, result;
    x = 10, y = 2;
    result = MyDivide(x, y);
    x = 4; y = 0;
    result = MyDivide(x, y); // Division by zero
    return result;       
}                        

int MyDivide(int _x, int _y)
{   
    return _x / _y;
}</pre>
<p>Now put this in a file, called &#8220;divide.cpp&#8221;, and compile it to a binary, called &#8220;divide&#8221;:</p>
<pre class="brush:plain; gutter: false">$ g++ -g divide.cpp -o divide</pre>
<p>After doing this, let us start with the GDB magic and load the &#8220;divide&#8221; binary:</p>
<pre class="brush:plain; gutter: false">$ gdb divide 
...
(gdb)</pre>
<pre style="background: none;">

</pre>
<p><strong><u>Everything is prepared, so here are some useful things you can do with GDB:</u></strong></p>
<ol>
<li><u>Start application:</u></li>
<pre class="brush:plain; gutter: false">(gdb) run
Starting program: /home/dennis/Entwicklung/Misc/divide 

Program received signal SIGFPE, Arithmetic exception.
0x0000000000400513 in MyDivide (_x=4, _y=0) at divide.cpp:15
15          return _x / _y;</pre>
<p>In our case the startup of the application results in a crash, due to division by zero.</p>
<li><u>Backtraces:</u></li>
<p>Because of the crash, we now can get more detailed information with the backtrace.</p>
<pre class="brush:plain; gutter: false">(gdb) bt
#0  0x0000000000400513 in MyDivide (_x=4, _y=0) at divide.cpp:15
#1  0x00000000004004f9 in main () at divide.cpp:9
(gdb) bt full
#0  0x0000000000400513 in MyDivide (_x=4, _y=0) at divide.cpp:15
No locals.
#1  0x00000000004004f9 in main () at divide.cpp:9
        x = 4
        y = 0
        result = 5</pre>
<li><u>Breakpoints:</u></li>
<pre class="brush:plain; gutter: false">(gdb) break divide.cpp:7
Breakpoint 1 at 0x4004ca: file divide.cpp, line 7.
(gdb) break divide.cpp:9
Breakpoint 2 at 0x4004ea: file divide.cpp, line 9.</pre>
<li><u>Step debugging:</u></li>
<pre class="brush:plain; gutter: false">(gdb) run
Starting program: /home/dennis/Entwicklung/Misc/divide 

Breakpoint 1, main () at divide.cpp:7
7           result = MyDivide(x, y);
(gdb) next
8           x = 4; y = 0;
(gdb) continue
Continuing.

Breakpoint 2, main () at divide.cpp:9
9           result = MyDivide(x, y); // Division by zero</pre>
<p>With the &#8220;next&#8221; command, GDB will go to the next line, which is executed by the application. As opposed to this the &#8220;continue&#8221; command will simply continue the application.</p>
<li><u>Variable manipulation:</u></li>
<pre class="brush:plain; gutter: false">(gdb) print y
$1 = 0
(gdb) set y = 1
(gdb) print y
$2 = 1</pre>
<li><u>Exiting application:</u></li>
<pre class="brush:plain; gutter: false">(gdb) quit</pre>
</ol>
<p>I hope this tutorial helps you to work with GDB and to get some personal achievements with debugging your applications.</p>
<p>If you have feedback, regards, corrections or questions please let me know and do not hesitate to comment!</p>
]]></content:encoded>
			<wfw:commentRss>http://dev-blog.doesntmatter.de/2012/04/29/howto-debugging-with-gdb/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>HowTo: Convert Subversion to Git</title>
		<link>http://dev-blog.doesntmatter.de/2012/03/19/howto-convert-subversion-to-git/</link>
		<comments>http://dev-blog.doesntmatter.de/2012/03/19/howto-convert-subversion-to-git/#comments</comments>
		<pubDate>Mon, 19 Mar 2012 12:50:20 +0000</pubDate>
		<dc:creator>DoesntMatter</dc:creator>
				<category><![CDATA[Git]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[VCS]]></category>
		<category><![CDATA[git-svn]]></category>
		<category><![CDATA[Svn]]></category>
		<category><![CDATA[Svn2Git]]></category>

		<guid isPermaLink="false">http://dev-blog.doesntmatter.de/?p=490</guid>
		<description><![CDATA[To make a start I can say that I personally prefer using Git as Version Control System. I use Subversion and Mercurial for some reasons too, but I do not really like to work with them. Because of this I &#8230; <a href="http://dev-blog.doesntmatter.de/2012/03/19/howto-convert-subversion-to-git/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>To make a start I can say that I personally prefer using <a href="http://git-scm.com/" title="Git" target="_blank">Git</a> as Version Control System. I use <a href="http://subversion.apache.org/" title="Subversion" target="_blank">Subversion</a> and <a href="http://mercurial.selenic.com/" title="Mercurial" target="_blank">Mercurial</a> for some reasons too, but I do not really like to work with them.</p>
<p>Because of this I wanted to convert some Subversion repositories to Git. If you also have planned to do this, the following may help you.</p>
<p><u><strong>Three different ways for the conversion:</strong></u></p>
<ol>
<li><u>Copying the source code:</u></li>
<p>The <strong>easiest and fastest</strong> way is simply copying the source code into an empty Git repository. For me this solution was impracticable, because you will <strong>loose the history</strong>.<br />
<code><br />
<em># Create and switch to new folder</em><br />
mkdir $GIT_REPO<br />
cd $GIT_REPO</p>
<p><em># Copy all files from the Subversion directory</em><br />
<em># Use -C option to ignore .svn directories</em><br />
rsync -C $PATH_TO_SVN_REPO/* $PATH_TO_GIT_REPO/</p>
<p><em># Do the Git steps</em><br />
git init<br />
git add *<br />
git commit -asm "Initial commit"<br />
</code></p>
<li><u>Using git-svn:</u></li>
<p>The next way to convert the repository is using <strong>git-svn</strong>. With git-svn you are able to adopt <strong>all branches</strong> and the <strong>whole history</strong>. The only <strong>unsuitable thing is converting tags</strong>, because they are created as branches by default and you need to switch them manually afterwards.<br />
<code><br />
<em># Install the software</em><br />
(sudo) apt-get install git-svn</p>
<p><em># Make and switch to new folder</em><br />
mkdir $GIT_FOLDER<br />
cd $GIT_FOLDER</p>
<p><em># Convert the repository</em><br />
git svn clone $SVN_URL --no-metadata --stdlayout .</p>
<p><em># Update the repository</em><br />
git svn fetch<br />
</code></p>
<li><u>Using svn2git:</u></li>
<p><a href="https://github.com/nirvdrum/svn2git" title="svn2git" target="_blank">Svn2git</a> is a utility which uses git-svn internally to do the real conversion, but in addition it does some more jobs around this to perfect the system. With this you will have a <strong>accurate converted repository</strong>. It uses Ruby, so you need to install some additional packages.<br />
You can use svn2git for some special actions and custom purposes. If you need some more information you can take a look at the <a href="https://github.com/nirvdrum/svn2git/blob/master/README.markdown" title="svn2git README" target="_blank">README</a>.<br />
<code><br />
<em># Install the software</em><br />
(sudo) apt-get install git-svn ruby rubygems<br />
(sudo) gem install svn2git</p>
<p><em># Make and switch to new folder</em><br />
mkdir $GIT_FOLDER<br />
cd $GIT_FOLDER</p>
<p><em># Convert the repository</em><br />
svn2git $SVN_URL</p>
<p><em># Update the repository</em><br />
svn2git --rebase<br />
</code>
</ol>
<p>I hope this tutorial helps you to save some time and troubles. If you have feedback, regards, corrections or questions please let me know and do not hesitate to comment!</p>
<p>I will probably write something about Version Control Systems, like a comparison or Cheat-Sheets, in other blog posts.</p>
]]></content:encoded>
			<wfw:commentRss>http://dev-blog.doesntmatter.de/2012/03/19/howto-convert-subversion-to-git/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>HowTo: MySQL Performance Tuning</title>
		<link>http://dev-blog.doesntmatter.de/2012/01/16/howto-mysql-performance-tuning/</link>
		<comments>http://dev-blog.doesntmatter.de/2012/01/16/howto-mysql-performance-tuning/#comments</comments>
		<pubDate>Sun, 15 Jan 2012 23:48:57 +0000</pubDate>
		<dc:creator>DoesntMatter</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Github]]></category>
		<category><![CDATA[InnoDB]]></category>
		<category><![CDATA[MyISAM]]></category>
		<category><![CDATA[Performance]]></category>

		<guid isPermaLink="false">http://dev-blog.doesntmatter.de/?p=312</guid>
		<description><![CDATA[At first I want to clarify that this is only a guideline for tuning your MySQL Performance, due to the fact that every MySQL Server is used for custom purposes and needs. There can be huge differences for application use, &#8230; <a href="http://dev-blog.doesntmatter.de/2012/01/16/howto-mysql-performance-tuning/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>At first I want to clarify that this is only a guideline for tuning your MySQL Performance, due to the fact that every MySQL Server is used for custom purposes and needs. There can be huge differences for application use, like READ-heavy or WRITE-heavy databases.</p>
<p><em>I recommend advanced knowledge of MySQL to understand most of the things explained in the following part.</em></p>
<p>This post includes some basic tips to increase your MySQL Server performance. Maybe I will write some other posts about more specific topics, like buffers or caching.</p>
<p><strong><u>Tips for MySQL performance optimization:</u></strong></p>
<ol>
<li><u>Storage Engine:</u></li>
<p>In my last post I described and explained the differences, advantages and disadvantages of the most popular MySQL storage engines: <a href="http://dev-blog.doesntmatter.de/2012/01/08/myisam-vs-innodb/" title="MyISAM vs. InnoDB" target="_blank">MyISAM vs. InnoDB</a>. The choice of the storage engine that fits best to your needs is very important. If you have done the correct selection this can have <strong>huge performance enhancement</strong> and more features too!</p>
<li><u>Table optimization:</u></li>
<p>Another common problem is table fragmentation, which can have great performance impact too. The main problem with fragmentation is bad ordering of indexes on disks, which results in slower query processing due to I/O issues.<br />
On my github profile you will find a tool for checking and optimizing your tables: <a href="https://github.com/DoesntMatter/mysqlfragfinder" title="mysqlfragfinder" target="_blank">MySQL fragmentation tool</a>.</p>
<p>Here is a short explanation how you can use this:<br />
<code><i># Show table count of fragmented tables in your databases</i><br />
./mysqlfragfinder.sh --user $USER --password $PASS --check<br />
<i># Show fragmented tables in your databases</i><br />
./mysqlfragfinder.sh --user $USER --password $PASS --check --detail<br />
<i># Optimize all tables</i><br />
./mysqlfragfinder.sh --user $USER --password $PASS<br />
<i># Optimize all tables of one specific database</i><br />
./mysqlfragfinder.sh --user $USER --password $PASS --database $DB</code></p>
<p>So for better performance you should <strong>optimize your tables regularly</strong>. But beware of using this with productive databases, because optimizing a table will lock it!</p>
<li><u>Tools for analysis:</u></li>
<p>This section is only for advanced users, because you need experience in MySQL server configuration. There are some tools with which you can analyze your MySQL server very well. With the help of them, you are able to find possible configuration failures or optimization targets. You find them on my github account too: <a href="https://github.com/DoesntMatter/MySQLTuner-perl" title="MySQLTuner-perl" target="_blank">MySQL Tuner</a> and <a href="https://github.com/DoesntMatter/mysqlreport" title="mysqlreport" target="_blank">MySQL Report</a>.<br />
MySQL Tuner itself displays tips and data in its output, whereas MySQL Report displays more detailed data. Besides MySQL Report has a really great guide in which their output is explained: <a href="http://hackmysql.com/mysqlreportguide" title="mysqlreportguide" target="_blank">Guide for MySQL Report</a>.<br />
Both tools are really helpful, but they will not do the configuration for you. <i>So be sure you know what you are doing if you follow their tips!</i></p>
<p>My recommendation is taking a closer look on following topics:</p>
<ul>
<li><em>Slow queries</em></li>
<p>You should ensure that the slow query log is enabled in your configuration. If you have slow queries try to <strong>get rid of them</strong> immediately! There is nothing worse than queries, which keep your MySQL server stuck.</p>
<li><em>Key buffer</em></li>
<p>The key buffer is very important for your indexes and you should always guarantee that there is enough free buffer space left. With the help of this the indexes of the tables are processed in memory and not on disks. So if you use them this will result in a <strong>huge performance boost</strong>.</p>
<li><em>Query cache</em></li>
<p>The query cache is used by SELECT-statements which for example get executed very often and their result changes very rarely. If they are cached the result comes out of the memory, which is much faster than from disk. So you should set the query cache value <strong>high enough</strong> to profit from this advantage.</p>
<li><em>InnoDB buffer pool</em></li>
<p>This is only available within the InnoDB storage engine and it should be set to the size of all InnoDB tables plus a margin, so that they can expand. The buffer pool is one <strong>huge advantage of InnoDB</strong>, because it reads additional data from memory too.
</ul>
<p>Of course most of the options and variables depend on your custom purposes and vary due to that. Because of that you need to check the special output of the tools for possible problems by yourself.
</ol>
<p>I hope this tutorial gave you some hints and tips to optimize your MySQL server. If you have feedback, regards, corrections or questions please let me know and do not hesitate to comment!</p>
<p>If my time permits and there is some demand, I will write some posts on more specific topics of this post too.</p>
]]></content:encoded>
			<wfw:commentRss>http://dev-blog.doesntmatter.de/2012/01/16/howto-mysql-performance-tuning/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>HowTo: Install Percona Server</title>
		<link>http://dev-blog.doesntmatter.de/2011/12/25/howto-install-percona-server/</link>
		<comments>http://dev-blog.doesntmatter.de/2011/12/25/howto-install-percona-server/#comments</comments>
		<pubDate>Sun, 25 Dec 2011 00:10:01 +0000</pubDate>
		<dc:creator>DoesntMatter</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[InnoDB]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Percona]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[XtraDB]]></category>

		<guid isPermaLink="false">http://dev-blog.doesntmatter.de/?p=108</guid>
		<description><![CDATA[As I promised in the last post, I am going to show you how to install the MySQL-Server solution of Percona. There are two ways of installing Percona Server: Via package manager or from source. Maybe some of you think &#8230; <a href="http://dev-blog.doesntmatter.de/2011/12/25/howto-install-percona-server/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>As I promised in the last post, I am going to show you how to install the MySQL-Server solution of Percona.</p>
<p>There are two ways of installing Percona Server: Via <em>package manager</em> or <em>from source</em>. Maybe some of you think that it is not needed to install Percona Server from source and they are right. It is not really <em>needed</em>, but it has some advantages which you will see later on. For the sake of completeness I will show both ways.</p>
<p>This HowTo is based on my personal purposes and needs, so there are other possibilities to get Percona running for sure.<br />
My favourite operation systems are <strong>Debian</strong> and <strong>Ubuntu</strong> and I currently use <strong>Percona-Server v5.5.15-21.0</strong>, but will probably upgrade in some weeks.</p>
<p><em>I recommend at least basic knowledge of MySQL and UNIX to understand most of the things explained in the following part.</em></p>
<p><strong><u>The two ways of installing Pecona Server:</u></strong></p>
<ol>
<li><u>Installion via packet manager</u></li>
<p>The only thing you have to do is getting the signed key of Percona and adding the repositories to your source list. With this you are able to install the software automatically via package manager.<br />
<em>You will need root access to do following actions.</em></p>
<p><code><em># Get the key</em><br />
$ gpg --keyserver  hkp://keys.gnupg.net --recv-keys 1C4CBDCDCD2EFD2A<br />
$ gpg -a --export CD2EFD2A | sudo apt-key add -</p>
<p><em># Add the repositories</em><br />
<em># Please replace <strong>$RELEASE</strong> with your current OS release below</em><br />
$ echo -e "\n# Percona Server\ndeb http://repo.percona.com/apt <strong>$RELEASE</strong> main\ndeb-src http://repo.percona.com/apt <strong>$RELEASE</strong> main" >> /etc/apt/sources.list<br />
</code></p>
<p>After that you are ready to install Percona Server yet!</p>
<p><code>$ apt-get install percona-server-server-5.5</code></p>
<li><u>Installation from source</u></li>
<p>This version is more complex, but you have the possibility to install the application for custom purposes.<br />
<em>You will need root access to do following actions.</em></p>
<p><code><em># Add mysql user</em><br />
$ useradd -s /bin/false -b /opt/mysql -d /opt/mysql -m mysql</p>
<p><em># Install MySQL client</em><br />
$ apt-get install mysql-client-5.1<br />
</code><br />
I prefer installing the client previously, because it already creates the MySQL configuration files like the <strong>my.cnf</strong> in /etc/mysql/ which is not created by this installation method. Indeed Percona provides different versions of my.cnf files for different purposes, but I will topic this in another tutorial.</p>
<p>Now we can start with the basic installation.</p>
<p><code><em># Install required packages</em><br />
$ apt-get install automake libtool g++ ncurses-dev bison</p>
<p><em># Get and extract Percona source</em><br />
$ wget http://www.percona.com/redir/downloads/Percona-Server-5.5/Percona-Server-5.5.15-21.0/source/Percona-Server-5.5.15-rel21.0.tar.gz<br />
$ tar xvfz Percona-Server-5.5.15-rel21.0.tar.gz<br />
$ cd Percona-Server-5.5.15-rel21.0</p>
<p><em># Prepare build</em><br />
$ sh BUILD/autorun.sh<br />
$ ./configure <strong>--without-plugin-innobase --with-plugin-innodb_plugin</strong> --prefix=/opt/mysql</p>
<p><em># Create directory for logging</em><br />
$ mkdir /var/log/mysql<br />
$ chown mysql:mysql /var/log/mysql<br />
</code><br />
I prefer to install MySQL in /opt/mysql, so you can specify this with the <em>&#8211;prefix</em> option. The <strong>two other options</strong> trigger the usage of XtraDB instead of the build-in InnoDB storage engine. I wrote something about this in my last article of <a href="http://dev-blog.doesntmatter.de/?p=21" title="Percona Server">Percona Server</a>. For <strong>increasing InnoDB performance</strong> it is very important to use this!</p>
<p><code><em># Build the sources</em><br />
$ make -j<br />
$ make install</p>
<p><em># Install basic database</em><br />
$ cd /opt/mysql<br />
$ ./scripts/mysql_install_db --user=mysql --basedir=/opt/mysql --datadir=/opt/mysql/data --verbose --log-error=/tmp/mysql.error.log --defaults-file=/etc/mysql/my.cnf</p>
<p><em># Set MySQL user privileges</em><br />
$ chown -R mysql:mysql /opt/mysql<br />
</code><br />
If you followed these steps correctly you should have a database which is almost ready to run. We will now create some files to be able to start and stop MySQL server easily and provide correct startup and shutdown behaviour with OS actions.</p>
<p><code><em># Use Percona support files</em><br />
$ echo "/opt/mysql/support-files/mysql.server start" > /etc/init.d/mysql_start<br />
$ echo "/opt/mysql/support-files/mysql.server stop" > /etc/init.d/mysql_stop<br />
$ chmod 755 /etc/init.d/mysql_*</p>
<p><em># Link them to rc directories</em><br />
$ ln -s ../init.d/mysql_start /etc/rc2.d/S19mysql<br />
$ ln -s ../init.d/mysql_stop /etc/rc0.d/K21mysql<br />
$ ln -s ../init.d/mysql_stop /etc/rc6.d/K21mysql<br />
</code></p>
<p>The last thing you have to do before startup are small adjustments to your MySQL configuration. There have to be some necessary changes to get this working correctly. The advantage of my.cnf is that it has an include path for custom configuration files. So let us use this due to the fact that the content of these files overwrite my.cnf options.</p>
<p><code><em># Add custom paths</em><br />
$ echo -e "[mysqld]\n\nbasedir = /opt/mysql\ndatadir = /opt/mysql/data\n" > /etc/mysql/conf.d/mysql_additon.cnf</p>
<p><em># Required XtraDB config</em><br />
$ echo -e "<strong>innodb_file_per_table = 1\ninnodb_file_format = barracuda</strong>" >> /etc/mysql/conf.d/mysql_additon.cnf<br />
</code></p>
<p>I just set the correct base- and data-dir of MySQL, because I prefer this setting. It is up to you how handle this. The <strong>XtraDB configuration settings</strong> I did are really <strong>important</strong>! The first one (innodb_file_per_table) is set to 1 and used for reducing file access and therefore reducing I/O. This becomes more important if you have slow disks, but is recommended by me anyways. The second one (innodb_file_format) is set to <strong>barracuda</strong>, which is the only supported table format for XtraDB.</p>
<p>Now you should be able to start and stop your MySQL server with following commands:</p>
<p><code><em># Start</em><br />
$ /etc/init.d/mysql_start<br />
<em># Stop</em><br />
$ /etc/init.d/mysql_stop<br />
</code>
</ol>
<p>I hope this tutorial helped you to install and configure your Percona Server. If you have feedback, regards, corrections or questions please let me know and do not hesitate to comment!</p>
<p>Keep in mind that there will follow guides for MySQL performance tuning and a backup solution for InnoDB and MyISAM tables.</p>
]]></content:encoded>
			<wfw:commentRss>http://dev-blog.doesntmatter.de/2011/12/25/howto-install-percona-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
