Increase MySQL max_connection on Lightsail (not RDS) database - mysql

I have a database created in Lightsail (not RDS, just Lightsail>Databases>Create database). I am trying to increase its max_connections number from 150 to 500 by connecting to it remotely, but I am getting the following error:
Access denied; you need (at least one of) the SUPER or SYSTEM_VARIABLES_ADMIN privilege(s) for this operation
Is there a way for me to achieve this on Lightsail?
Database instance info:
High availability MySQL database (8.0.11)
2 GB RAM
1 vCPU
80 GB SSD

It sound like you are attempting to set the parameter through SQL?
For lightsail databases, you need to follow these instructions and use AWS CLI: https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-updating-database-parameters
(if I'm wrong, please let us know what command you are running to generate the error you are seeing above)

AWS RDS and lighsail wil automatically inject your proper amount of max_connections based on your memory installed. With 2 gigs, you get around 66*2=132
It will just overwhelm even RDS if you make too many connections, as they require more RAM for each one.
"parameterName": "max_connections",
"parameterValue": "{DBInstanceClassMemory/12582880}"
mysql> show variables like "max_connections";
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_connections | 66 |
+-----------------+-------+
# pip3 install awscli --upgrade --user
# .local/bin/aws lightsail get-relational-database-parameters --relational-database-name <your given name>
# .local/bin/aws lightsail update-relational-database-parameters --relational-database-name <your given name> --parameters "parameterName=explicit_defaults_for_timestamp,parameterValue=0,applyMethod=pending-reboot"
which is required for MySQL 5.7
OR for your situation
# .local/bin/aws lightsail update-relational-database-parameters --relational-database-name <your given name> --parameters "parameterName=max_connections,parameterValue=500,applyMethod=pending-reboot"
If your region is us-west-2a, then remove the "a" from the .aws/config
[default]
region = us-west-2
output = json

Related

How to update timeout setting in MongoDB BI Connector

I am using Tableau BI with MongoDB BI Connector to connect to the MongoDB database server. I have executed one MySQL query from the Tableau, which shows the following error
Error Code: 2013. Lost connection to MySQL server during query
For this error, I am trying to increase the net_read_timeout property value in the MongoDB BI Connector and as per the document, we can use the following command to update the system variable setting, after connecting the MongoDB BI with the MySQL client.
mysql --protocol tcp --port 3304 -e "SET GLOBAL net_read_timeout = 100"
But this command doesn't change the 'net_read_timeout' property value and it reflects the old one
mysql> show variables like 'net_read_timeout';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| net_read_timeout | 30 |
+------------------+-------+
Could anyone please suggest me how to update the system settings of MongoDB BI Connector using the MySQL client? Thanks in advance.
I faced the same problem recently. It's my solution:
Add the timeout settings(socketTimeoutMS, connectTimeoutMS) into the connection string(uri) for MongoDB.
They can help you to control the timeout of the connection!
Example:
#The configuration file of BI Connector
# ...
mongodb:
net:
uri: "<your-mongodb>:27017/?socketTimeoutMS=360000&connectTimeoutMS=360000"
# ...
I hope this will help!

Strange MySQL "read-only" error

I'm experiencing a strange MySQL error, seemingly related to the database's read-only flag. A Web application that uses MySQL is running on Debian 7.9. It was running well for weeks, if not more, while, suddenly, attempts to access the application-powered website started producing the following error message on a blank webpage:
Error: 500 - SQLSTATE[HY000]: General error: 1290 The MySQL server is
running with the --read-only option so it cannot execute this
statement
The following are the steps that I performed as part of my investigation:
found and read read relevant info on the Internet (some pointed to MySQL's read-only flag);
based on the above, tried to find the read-only flag in MySQL config. file (my.cnf) - couldn't find it there, but read that the default value for the flag is OFF anyway;
verified the filesystem to make sure there is plenty of disk space (df -h):
Filesystem Size Used Avail Use% Mounted on
udev 10M 0 10M 0% /dev
tmpfs 3.2G 1.4M 3.2G 1% /run
/dev/disk/by-uuid/xxxxxxxxxxxxxxxxx 113G 14G 94G 13% /
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 7.3G 72K 7.3G 1% /run/shm
ran mysqlcheck --all-databases: all tables are OK;
verified that there is plenty of RAM available on the server (free):
total used free shared buffers cached
Mem: 32898332 2090268 30808064 0 425436 970348
-/+ buffers/cache: 694484 32203848
Swap: 5105660 0 5105660
finally, I have decided to take a "snapshot" of MySQL-related processes (ps ax | grep mysql) during the problem's existence and after a temporary fix (DB restart), hoping that it could give people additional context for ideas; here are the corresponding results:
Problem:
20307 ? S 0:00 /bin/sh /usr/bin/mysqld_safe
20635 ? Sl 0:37 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port=3306
20636 ? S 0:00 logger -t mysqld -p daemon.error
36427 pts/0 S+ 0:00 grep mysql
No problem:
36948 pts/0 S 0:00 /bin/sh /usr/bin/mysqld_safe
37275 pts/0 Sl 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port=3306
37276 pts/0 S 0:00 logger -t mysqld -p daemon.error
38313 pts/0 S+ 0:00 grep mysql
UPDATE:
I just experienced the issue again and decided to check whether the global read-only flag is set to OFF or not, assuming the latter. My assumption has confirmed:
mysql> SELECT ##global.read_only;
+--------------------+
| ##global.read_only |
+--------------------+
| 1 |
+--------------------+
1 row in set (0.00 sec)
I guess, despite the default OFF value, since it is being overwritten by some process in the system, I will have to set the read-only flag to OFF explicitly and permanently via MySQL configuration file. Will report on results later in an answer.
If you're in AWS Aurora, you might be accessing the replica instance which is read-only so you need to use the DB Cluster endpoint instead.
As I see it there are two broad reasons for why your database is being set to read only:
1) MySQL is setting itself read only
I'm not sure what might cause MySQL to go read only, perhaps disk issues or corruption of database? In any case I'd expect something to appear in the logs, so check the MySQL (and system) logs.
2) A client is setting the database read only
Clients connecting to MySQL can set the database read only using the command:
SET GLOBAL read_only = ON;
however to do this the user is required to have SUPER privileges. This permission shouldn't be needed for websites, applications, etc that are using MySQL - keep it only for an admin account that you use for administering the database.
Lock down the permissions that each user has so they only have permission to do the things that they need on the databases / tables that are applicable. If you're using some out-of-the-box applications they should come with instructions detailing what permissions are required (e.g. SELECT, INSERT, DELETE, UPDATE).
Based on my question's comments (special thanks to #Eborbob) and my update, I have figured that some process in the system resets the read-only flag to ON (1), which seem to trigger the issue and results in the website becoming inaccessible. In order to fix the problem as well as make this fix persistent across software and server restarts, I decided to update MySQL configuration file my.cnf and restart the DB server.
After making the relevant update (in my case, addition) to the configuration file
read_only=0
let's verify that the flag is indeed set to OFF (0):
# mysql
mysql> SELECT ##global.read_only;
+--------------------+
| ##global.read_only |
+--------------------+
| 0 |
+--------------------+
1 row in set (0.00 sec)
Finally, let's restart MySQL server (for some reason, a dynamic reloading of MySQL configuration (/etc/init.d/mysql reload) didn't work, so I had to restart the database server explicitly:
service mysql stop
service mysql start
Voila! Now access to the website is restored. Will update my answer, if any changes will occur.
set global read_only = off;
make read only mode off later it will work sure.
Not related to the issue, but related to the error 'mysql read-only'.
Make sure you are not trying to write something to a slave instance of mysql.
I just experienced the same error and fixed it by connecting to the hostname of the mysql server as opposed to the IP address. I'm not sure why this fixed it but it did. Just FYI
the server might be set to recovery mode
find the innodb_force_recovery in my.cnf and uncomment it and restart the server then run the upgrade.
As Eborbob say it's probably a client,
Did you check your backup tool ?
Do you use some SQL proxy like proxySQL or maxscale ?
For exemple Mascale can enforce readonly by monitoring : https://jira.mariadb.org/browse/MXS-1859
Replication Manager can also change READ ONLY flag
The below error:-
The MySQL server is running with the --read-only option so it cannot execute this statement
It occurs when a user not having the write permission for the sql db tries to insert/update some data into the db.
It is quite a valid security error, as it is stating that you currently are having just --read-only rights and hence cannot execute a query that has anything to do with writing.
To resolve this error:-
Get the write access from the DBA.
e.g.
GRANT ALL PRIVILEGES ON database.table TO 'user'#'localhost';
The above query will grant all privileges to the user with username 'user'.
executing below statement worked for me
mysql> SET GLOBAL read_only = OFF;
This worked for me and you can try it.
Make a backup of your .sql file ( change your query )
Find all Engine=InnoDB
and replace them with Engine=MyISAM
and try executing again.

Amazon RDS have different global values on similar host

I have 2 database on two different RDS hosts using a similar group. Most of the mysql global variables are same except for binlog_format and log_bin. As these are not configured within parameter groups, I am not sure why they are different for different database host.
Mysql version is 5.5
Mysql Property host1 host2
-------------- ----- ---------
binlog_format MIXED STATEMENT
log_bin ON OFF
Kindly guide where to look for.
Thanks

MySQL Query with LARGE number of records gets Killed

I run the following query from my shell :
mysql -h my-host.net -u myuser -p -e "SELECT component_id, parent_component_id FROM myschema.components comp INNER JOIN my_second_schema.component_parents related_comp ON comp.id = related_comp.component_id ORDER BY component_id;" > /tmp/IT_component_parents.txt
The query runs for a LONG time and then gets KILLED.
However if I add LIMIT 1000, then the query runs till the end and output is written in file.
I further investigated and found (using COUNT(*)) that the total number of records that would be returned are 239553163.
Some information about my server is here:
MySQL 5.5.27
+----------------------------+----------+
| Variable_name | Value |
+----------------------------+----------+
| connect_timeout | 10 |
| delayed_insert_timeout | 300 |
| innodb_lock_wait_timeout | 50 |
| innodb_rollback_on_timeout | OFF |
| interactive_timeout | 28800 |
| lock_wait_timeout | 31536000 |
| net_read_timeout | 30 |
| net_write_timeout | 60 |
| slave_net_timeout | 3600 |
| wait_timeout | 28800 |
+----------------------------+----------+
Here's STATE of the query as I monitored :
copying to tmp table on disk
sorting results
sending data
writing to net
sending data
writing to net
sending data
writing to net
sending data ...
KILLED
Any guesses what's wrong here ?
The mysql client probably runs out of memory.
Use the --quick option to not buffer results in memory.
What is wrong is that you are returning 239 553 163 rows of data! Don't be surprised it it takes a lot of time to process. Actually, the longest part might very well be sending the result set back to your client.
Reuduce the result set (do you really need all these rows?). Or try to output the data in smaller batches:
mysql -h my-host.net -u myuser -p -e "SELECT ... LIMIT 10000, 0" >> dump.txt
mysql -h my-host.net -u myuser -p -e "SELECT ... LIMIT 10000, 10000" >> dump.txt
Assuming you mean 8 hours when you say a long time, the value 28800 for your wait_timeout causes the connection to drop with no further activity in 28,800 seconds, i.e. 8 hours. If you can't optimize the statement to run in less than 8 hours, you should increase this value.
See this page for further information on the wait_timeout variable.
The interactive_timeout variable is used for interactive client connections, so if you run long queries from an interactive session, that's the one you need look at.
You may want to utilize OUTFILE mechanizm if you are going to dump large amounts of data. That or mysql_dump will be much more efficient (and OUTFILE got the benefit of not locking-down the table).
You said in a comment that your MySQL instance is on RDS. This means you can't be running the query from the same host, since you can't log into an RDS host. I guess you might be doing this query over the WAN from your local network.
You're most likely having trouble because of a slow network. Your process state frequently showing "writing to net" makes me think this is your bottleneck.
Your bottleneck might also be the sorting. Your sort is writing to a temp table, and that can take a long time for a result set that large. Can you skip the ORDER BY?
Even so, I wouldn't expect the query to be killed even if it runs for 3100 seconds or more. I wonder if your DBA has some periodic job killing long-running queries, like pt-kill. Ask your DBA.
To reduce network transfer time, you could try using the compression protocol. You can use the --compress or -C flags to the mysql client for this (see https://dev.mysql.com/doc/refman/5.7/en/mysql-command-options.html#option_mysql_compress)
On a slow network, compression can help. For example, read about some comparisons here: https://www.percona.com/blog/2007/12/20/large-result-sets-vs-compression-protocol/
Another alternative is to run the query from an EC2 spot instance running in the same AZ as your RDS instance. The network between those two instances will be a lot faster, so it won't delay your data transfer. Save the query output to a file on the EC2 spot instance.
Once the query result is saved on your EC2 instance, you can download it to your local machine, using scp or something, which should be more tolerant of slow networks.

Cannot install MySQL server in WIndows XP

I'm trying to install MySQL in my computer but I keep getting this error all the time:
I uninstalled like 8 times already, any help would be very appreciated.
I searched about this in Google but any solution solve my problem.
The firewall is disabled and already have the exception for the port 3306, but still the error keeps coming :
EDIT:
I follow the advices and stills could not connect in my database:
Here's the select of the user in database, the password is the same for all of them as you can see:
And it looks I can ping but still getting the error in connection:
EDIT 2:
After create the users and try to connect using them :
C:\Documents and Settings\Administrator>mysql --user=root --password mysql
Enter password: *********
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 5.5.22 MySQL Community Server (GPL)
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> create user 'valter'#'localhost' identified by 'greyfox';
Query OK, 0 rows affected (0.01 sec)
mysql> grant all privileges on *.* 'valter'#'localhost' with grant option;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near ''val
er'#'localhost' with grant option' at line 1
mysql> grant all privileges on *.* to 'valter'#'localhost' with grant option;
Query OK, 0 rows affected (0.00 sec)
mysql> create user 'valter'#'%' identified by 'greyfox';
Query OK, 0 rows affected (0.01 sec)
mysql> grant all privileges on *.* to 'valter'#'%' with grant option;
Query OK, 0 rows affected (0.00 sec)
mysql> create user 'admin'#'localhost';
Query OK, 0 rows affected (0.00 sec)
mysql> grant reload process on *.* to 'admin'#'localhost';
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'proc
ss on *.* to 'admin'#'localhost'' at line 1
mysql> grant reload, process on *.* to 'admin'#'localhost';
Query OK, 0 rows affected (0.00 sec)
mysql> create user 'dummy'#'localhost';
Query OK, 0 rows affected (0.01 sec)
mysql> select User, Host from mysql.user;
+--------+-----------+
| User | Host |
+--------+-----------+
| valter | % |
| root | 127.0.0.1 |
| root | ::1 |
| | localhost |
| admin | localhost |
| dummy | localhost |
| root | localhost |
| valter | localhost |
+--------+-----------+
8 rows in set (0.00 sec)
mysql> exit
Bye
C:\Documents and Settings\Administrator>mysql -u root -p
Enter password: *********
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 5.5.22 MySQL Community Server (GPL)
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> select User, Host from mysql.user;
+--------+-----------+
| User | Host |
+--------+-----------+
| valter | % |
| root | 127.0.0.1 |
| root | ::1 |
| | localhost |
| admin | localhost |
| dummy | localhost |
| root | localhost |
| valter | localhost |
+--------+-----------+
8 rows in set (0.00 sec)
mysql>
And when I try to connect using the Heidi gives the same error:
EDIT 3:
Here it goes some queries I'm making to find out what is this error :
C:\Documents and Settings\Administrator>mysqladmin -u root -p version
Enter password: *********
mysqladmin Ver 8.42 Distrib 5.5.22, for Win32 on x86
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Server version 5.5.22
Protocol version 10
Connection localhost via TCP/IP
TCP port 3306
Uptime: 7 hours 8 min 31 sec
Threads: 2 Questions: 43 Slow queries: 0 Opens: 39 Flush tables: 1 Open tab
les: 0 Queries per second avg: 0.001
C:\Documents and Settings\Administrator>
Another command:
C:\Documents and Settings\Administrator>mysqladmin -u root -p -h 'localhost' version variables;
Enter password: *********
mysqladmin: connect to server at ''localhost'' failed
error: 'Unknown MySQL server host ''localhost'' (0)'
Check that mysqld is running on 'localhost' and that the port is 3306.
You can check this by doing 'telnet 'localhost' 3306'
C:\Documents and Settings\Administrator>mysqladmin -h `localhost` --port=3306 ve
rsion
mysqladmin: connect to server at '`localhost`' failed
error: 'Unknown MySQL server host '`localhost`' (0)'
Check that mysqld is running on `localhost` and that the port is 3306.
You can check this by doing 'telnet `localhost` 3306'
And this is my.ini file:
# MySQL Server Instance Configuration File
# ----------------------------------------------------------------------
# Generated by the MySQL Server Instance Configuration Wizard
#
#
# Installation Instructions
# ----------------------------------------------------------------------
#
# On Linux you can copy this file to /etc/my.cnf to set global options,
# mysql-data-dir/my.cnf to set server-specific options
# (#localstatedir# for this installation) or to
# ~/.my.cnf to set user-specific options.
#
# On Windows you should keep this file in the installation directory
# of your server (e.g. C:\Program Files\MySQL\MySQL Server X.Y). To
# make sure the server reads the config file use the startup option
# "--defaults-file".
#
# To run run the server from the command line, execute this in a
# command line shell, e.g.
# mysqld --defaults-file="C:\Program Files\MySQL\MySQL Server X.Y\my.ini"
#
# To install the server as a Windows service manually, execute this in a
# command line shell, e.g.
# mysqld --install MySQLXY --defaults-file="C:\Program Files\MySQL\MySQL Server X.Y\my.ini"
#
# And then execute this in a command line shell to start the server, e.g.
# net start MySQLXY
#
#
# Guildlines for editing this file
# ----------------------------------------------------------------------
#
# In this file, you can use all long options that the program supports.
# If you want to know the options a program supports, start the program
# with the "--help" option.
#
# More detailed information about the individual options can also be
# found in the manual.
#
#
# CLIENT SECTION
# ----------------------------------------------------------------------
#
# The following options will be read by MySQL client applications.
# Note that only client applications shipped by MySQL are guaranteed
# to read this section. If you want your own MySQL client program to
# honor these values, you need to specify it as an option during the
# MySQL client library initialization.
#
[client]
port=3306
[mysql]
default-character-set=latin1
# SERVER SECTION
# ----------------------------------------------------------------------
#
# The following options will be read by the MySQL Server. Make sure that
# you have installed the server correctly (see above) so it reads this
# file.
#
[mysqld]
# The TCP/IP Port the MySQL Server will listen on
port=3306
#Path to installation directory. All paths are usually resolved relative to this.
basedir="C:/MySQL/MySQL Server 5.5/"
#Path to the database root
datadir="C:/Documents and Settings/All Users/Dados de aplicativos/MySQL/MySQL Server 5.5/Data/"
# The default character set that will be used when a new schema or table is
# created and no character set is defined
character-set-server=latin1
# The default storage engine that will be used when create new tables when
default-storage-engine=INNODB
# Set the SQL mode to strict
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
# The maximum amount of concurrent sessions the MySQL server will
# allow. One of these connections will be reserved for a user with
# SUPER privileges to allow the administrator to login even if the
# connection limit has been reached.
max_connections=100
# Query cache is used to cache SELECT results and later return them
# without actual executing the same query once again. Having the query
# cache enabled may result in significant speed improvements, if your
# have a lot of identical queries and rarely changing tables. See the
# "Qcache_lowmem_prunes" status variable to check if the current value
# is high enough for your load.
# Note: In case your tables change very often or if your queries are
# textually different every time, the query cache may result in a
# slowdown instead of a performance improvement.
query_cache_size=0
# The number of open tables for all threads. Increasing this value
# increases the number of file descriptors that mysqld requires.
# Therefore you have to make sure to set the amount of open files
# allowed to at least 4096 in the variable "open-files-limit" in
# section [mysqld_safe]
table_cache=256
# Maximum size for internal (in-memory) temporary tables. If a table
# grows larger than this value, it is automatically converted to disk
# based table This limitation is for a single table. There can be many
# of them.
tmp_table_size=9M
# How many threads we should keep in a cache for reuse. When a client
# disconnects, the client's threads are put in the cache if there aren't
# more than thread_cache_size threads from before. This greatly reduces
# the amount of thread creations needed if you have a lot of new
# connections. (Normally this doesn't give a notable performance
# improvement if you have a good thread implementation.)
thread_cache_size=8
#*** MyISAM Specific options
# The maximum size of the temporary file MySQL is allowed to use while
# recreating the index (during REPAIR, ALTER TABLE or LOAD DATA INFILE.
# If the file-size would be bigger than this, the index will be created
# through the key cache (which is slower).
myisam_max_sort_file_size=100G
# If the temporary file used for fast index creation would be bigger
# than using the key cache by the amount specified here, then prefer the
# key cache method. This is mainly used to force long character keys in
# large tables to use the slower key cache method to create the index.
myisam_sort_buffer_size=17M
# Size of the Key Buffer, used to cache index blocks for MyISAM tables.
# Do not set it larger than 30% of your available memory, as some memory
# is also required by the OS to cache rows. Even if you're not using
# MyISAM tables, you should still set it to 8-64M as it will also be
# used for internal temporary disk tables.
key_buffer_size=10M
# Size of the buffer used for doing full table scans of MyISAM tables.
# Allocated per thread, if a full scan is needed.
read_buffer_size=64K
read_rnd_buffer_size=256K
# This buffer is allocated when MySQL needs to rebuild the index in
# REPAIR, OPTIMZE, ALTER table statements as well as in LOAD DATA INFILE
# into an empty table. It is allocated per thread so be careful with
# large settings.
sort_buffer_size=256K
#*** INNODB Specific options ***
# Use this option if you have a MySQL server with InnoDB support enabled
# but you do not plan to use it. This will save memory and disk space
# and speed up some things.
#skip-innodb
# Additional memory pool that is used by InnoDB to store metadata
# information. If InnoDB requires more memory for this purpose it will
# start to allocate it from the OS. As this is fast enough on most
# recent operating systems, you normally do not need to change this
# value. SHOW INNODB STATUS will display the current amount used.
innodb_additional_mem_pool_size=2M
# If set to 1, InnoDB will flush (fsync) the transaction logs to the
# disk at each commit, which offers full ACID behavior. If you are
# willing to compromise this safety, and you are running small
# transactions, you may set this to 0 or 2 to reduce disk I/O to the
# logs. Value 0 means that the log is only written to the log file and
# the log file flushed to disk approximately once per second. Value 2
# means the log is written to the log file at each commit, but the log
# file is only flushed to disk approximately once per second.
innodb_flush_log_at_trx_commit=1
# The size of the buffer InnoDB uses for buffering log data. As soon as
# it is full, InnoDB will have to flush it to disk. As it is flushed
# once per second anyway, it does not make sense to have it very large
# (even with long transactions).
innodb_log_buffer_size=1M
# InnoDB, unlike MyISAM, uses a buffer pool to cache both indexes and
# row data. The bigger you set this the less disk I/O is needed to
# access data in tables. On a dedicated database server you may set this
# parameter up to 80% of the machine physical memory size. Do not set it
# too large, though, because competition of the physical memory may
# cause paging in the operating system. Note that on 32bit systems you
# might be limited to 2-3.5G of user level memory per process, so do not
# set it too high.
innodb_buffer_pool_size=17M
# Size of each log file in a log group. You should set the combined size
# of log files to about 25%-100% of your buffer pool size to avoid
# unneeded buffer pool flush activity on log file overwrite. However,
# note that a larger logfile size will increase the time needed for the
# recovery process.
innodb_log_file_size=10M
# Number of threads allowed inside the InnoDB kernel. The optimal value
# depends highly on the application, hardware as well as the OS
# scheduler properties. A too high value may lead to thread thrashing.
innodb_thread_concurrency=8
My best guess is that you install MySQL with the default settings (provide more details if not). So check your firewall if the port for MySQL is open.
The default port is 3306. If that doesn't solve your problem, here is the MySQL Documentation on this error:
http://dev.mysql.com/doc/refman/5.5/en/can-not-connect-to-server.html
The installation looks like it's completing. The last step just does some finishing touches...
First, check to see if MySQL installed. Go to your Programs and Features section of the Control Panel. Scroll through (or use the search feature) to look for the MySQL Server 5.5 program.
If it's installed, make sure the service was added and started properly. Open the Services window by typing into the Run prompt services.msc. It lists all of your services. Depending on what the service was named (probably just MySQL), scroll through and look for it in that list. Make sure it says Started in the Status column.
If it's installed and the service is started, then you know the database installed properly. More than likely, it's just something in the installer that's causing it to break. (Which is good, means you're doing nothing wrong!)
To secure the installation, you can try manually running the included script. But, all it does it take the information you gave during the first steps of the installer and apply them.
According to the script's documentation, it sets the root password, removes root access privileges to anything but localhost, removes anonymous user accounts, and removes test databases. So, you can do that all yourself.