Sunday, May 6, 2012

How to configure my.ini parameters mysql ?


CONFIGURE AMAZON RDS WITHOUT LEARNING COMMAND LINE API

We were looking a better performance for our database as our startup is growing rapidly. We tried all possible options finally considered Amazon RDS for the database needs and it’s totally worth it.

When you are new to AWS, first thing what you will notice that there is no direct access to the MySql configuration files (my.cnf/my.ini). It was essential for us to tweak the database configuration per our needs.

Database configuration can be changed with APIs provided by AWS. But you have to install the AWS API tools and mess with all command line APIs. When you are in hurry , you don’t have to invest time in learning all this APIs. There must be a GUI way to configure my.ini parameters. I tried hands on all GUI tools and services available and managed to get it done with GUI. Here is what you have to do.

Okay, we are considering that you already have created AWS RDS instance. AWS creates a Default parameters in “DB Parameter Group”





Step 1 > Create DB Parameter Group

Give the name to your DB parameter group. One thing you should notice here is that change Mysql Group family version to mysql5.5 (if you have latest MySql RDS you will be having 5.5 versions, you may have 5.1 if your mysql version is 5.1)



Now we have got your Parameter group created here. But you can notice that we are not allowed to change the parameters option from AWS console. They are read-only in AWS console.





You know all till. Now the tricky part starts. We don’t want to mess with the AWS APIs.

There are several Cloud management services which manages cloud with APIs. Don’t worry we don’t have to pay for it.

Step2 > Create a account in http://www.rightscale.com/ (Choose free Edition)



Your rightscale dashboard should be looking like above. Now we need to give rightscale permission to manage our AWS account.

Step3 > Connect your AWS account with Rightscale.

Rightscale will ask for the “Access Key ID” and “Secret Access Key”. You can generate this Ids from your AWS Console under “Security Credentials” option. (Top right corner)





Great! Now we have our AWS account connected with RightScale. You can hang around in RightScale. Now time to move on the main topic.

Step4 > Select DB Parameters Group (which we created in first step)

Select the proper region in which your server is located.





It shows the all existing parameter groups. If you have just created the RDS you will be having only one parameter group and that would be Default parameter group. We cant change the Default parameter group so we will be selecting the new parameter group which we created in first step.



We have created our new DB parameter group. Click on your group name it will give you all parameter list same as AWS console. But difference in righscale is that you can change parameters. Click on the parameter you want to change and you can edit it.
AWS have modified the mysql and patched it for scalable version. So they don’t allow you to change all the parameters. They are read only. But you can change most of the parameters you will ever need.



Finally we have our new DB parameters group with all our custom settings. This setting will change the my.ini configurations. But our database is still using Default parameter group. We have a final step here.

Step5 > Assign the new parameter group to our Amazon RDS instance.

In RightScale Go to menu > Clouds > Your Region > RDS Instances
Click on your RDS Instance , “Modify” the instance



Select the RDS Parameters group from the dropdown list and modify the instance.


We are done. We have assigned our new RDS parameter group to the RDS instance. You will need to reboot the RDS instance to apply the changes.

Finally! We are done. We have configured our my.in file of Amazon RDS without learning APIs and command lines.

If you find this helpful, want to share your experience or have problems, feel free to comment here.

0 comments:

Post a Comment