Ubuntu: Cannot start mysql server [closed]



Question:

I'm tring to run a website from my server, so I installed php, apache and mysql.

I'm having problems with mysql. After installation, it failed to restart.

This is the output:

root@ns213360:/etc/mysql# /etc/init.d/mysql start ; tail -n 50 /var/log/syslog  [FAIL] Starting MySQL database server: mysqld . . . . . . . . . . . . . . failed!  Apr  3 09:27:22 ns213360 mysqld: 140403  9:27:22 InnoDB: Using Linux native AIO  Apr  3 09:27:22 ns213360 mysqld: 140403  9:27:22 InnoDB: Initializing buffer pool, size = 128.0M  Apr  3 09:27:22 ns213360 mysqld: 140403  9:27:22 InnoDB: Completed initialization of buffer pool  Apr  3 09:27:22 ns213360 mysqld: 140403  9:27:22 InnoDB: highest supported file format is Barracuda.  Apr  3 09:27:22 ns213360 mysqld: 140403  9:27:22  InnoDB: Waiting for the background threads to start  Apr  3 09:27:23 ns213360 mysqld: 140403  9:27:23 InnoDB: 5.5.35 started; log sequence number 1595685  Apr  3 09:27:23 ns213360 mysqld: 140403  9:27:23 [ERROR] /usr/sbin/mysqld: unknown variable 'default-character-set=utf8'  Apr  3 09:27:23 ns213360 mysqld: 140403  9:27:23 [ERROR] Aborting  Apr  3 09:27:23 ns213360 mysqld:  Apr  3 09:27:23 ns213360 mysqld: 140403  9:27:23  InnoDB: Starting shutdown...  Apr  3 09:27:24 ns213360 mysqld: 140403  9:27:24  InnoDB: Shutdown completed; log sequence number 1595685  Apr  3 09:27:24 ns213360 mysqld: 140403  9:27:24 [Note] /usr/sbin/mysqld: Arrêt du serveur terminé  Apr  3 09:27:24 ns213360 mysqld:  Apr  3 09:27:24 ns213360 mysqld_safe: mysqld from pid file /var/run/mysqld/mysqld.pid ended  Apr  3 09:27:36 ns213360 /etc/init.d/mysql[24960]: 0 processes alive and '/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf ping' resulted in  Apr  3 09:27:36 ns213360 /etc/init.d/mysql[24960]: #007/usr/bin/mysqladmin: connect to server at 'localhost' failed  Apr  3 09:27:36 ns213360 /etc/init.d/mysql[24960]: error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'  Apr  3 09:27:36 ns213360 /etc/init.d/mysql[24960]: Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!  Apr  3 09:27:36 ns213360 /etc/init.d/mysql[24960]:  Apr  3 09:28:01 ns213360 /USR/SBIN/CRON[24980]: (root) CMD (/usr/local/rtm/bin/rtm 40 > /dev/null 2> /dev/null)  Apr  3 09:29:01 ns213360 /USR/SBIN/CRON[25025]: (root) CMD (/usr/local/rtm/bin/rtm 40 > /dev/null 2> /dev/null)  Apr  3 09:29:19 ns213360 mysqld_safe: Starting mysqld daemon with databases from /var/lib/mysql  Apr  3 09:29:19 ns213360 mysqld: 140403  9:29:19 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead.  Apr  3 09:29:19 ns213360 mysqld: 140403  9:29:19 [Warning] The syntax '--log-slow-queries' is deprecated and will be removed in a future release. Please use '--slow-query-log'/'--slow-query-log-file' instead.  Apr  3 09:29:19 ns213360 mysqld: 140403  9:29:19 [ERROR] An old style --language value with language specific part detected: /usr/share/mysql/french/  Apr  3 09:29:19 ns213360 mysqld: 140403  9:29:19 [ERROR] Use --lc-messages-dir without language specific part instead.  Apr  3 09:29:19 ns213360 mysqld: 140403  9:29:19 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use the full name instead.  Apr  3 09:29:19 ns213360 mysqld: 140403  9:29:19 [Note] Plugin 'FEDERATED' is disabled.  Apr  3 09:29:19 ns213360 mysqld: 140403  9:29:19 InnoDB: The InnoDB memory heap is disabled  Apr  3 09:29:19 ns213360 mysqld: 140403  9:29:19 InnoDB: Mutexes and rw_locks use GCC atomic builtins  Apr  3 09:29:19 ns213360 mysqld: 140403  9:29:19 InnoDB: Compressed tables use zlib 1.2.7  Apr  3 09:29:19 ns213360 mysqld: 140403  9:29:19 InnoDB: Using Linux native AIO  Apr  3 09:29:19 ns213360 mysqld: 140403  9:29:19 InnoDB: Initializing buffer pool, size = 128.0M  Apr  3 09:29:19 ns213360 mysqld: 140403  9:29:19 InnoDB: Completed initialization of buffer pool  Apr  3 09:29:19 ns213360 mysqld: 140403  9:29:19 InnoDB: highest supported file format is Barracuda.  Apr  3 09:29:19 ns213360 mysqld: 140403  9:29:19  InnoDB: Waiting for the background threads to start  Apr  3 09:29:20 ns213360 mysqld: 140403  9:29:20 InnoDB: 5.5.35 started; log sequence number 1595685  Apr  3 09:29:20 ns213360 mysqld: 140403  9:29:20 [ERROR] /usr/sbin/mysqld: unknown variable 'default-character-set=utf8'  Apr  3 09:29:20 ns213360 mysqld: 140403  9:29:20 [ERROR] Aborting  Apr  3 09:29:20 ns213360 mysqld:  Apr  3 09:29:20 ns213360 mysqld: 140403  9:29:20  InnoDB: Starting shutdown...  Apr  3 09:29:21 ns213360 mysqld: 140403  9:29:21  InnoDB: Shutdown completed; log sequence number 1595685  Apr  3 09:29:21 ns213360 mysqld: 140403  9:29:21 [Note] /usr/sbin/mysqld: Arrêt du serveur terminé  Apr  3 09:29:21 ns213360 mysqld:  Apr  3 09:29:21 ns213360 mysqld_safe: mysqld from pid file /var/run/mysqld/mysqld.pid ended  Apr  3 09:29:33 ns213360 /etc/init.d/mysql[25685]: 0 processes alive and '/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf ping' resulted in  Apr  3 09:29:33 ns213360 /etc/init.d/mysql[25685]: #007/usr/bin/mysqladmin: connect to server at 'localhost' failed  Apr  3 09:29:33 ns213360 /etc/init.d/mysql[25685]: error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'  Apr  3 09:29:33 ns213360 /etc/init.d/mysql[25685]: Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!  Apr  3 09:29:33 ns213360 /etc/init.d/mysql[25685]:  


Solution:1

According to the log, there is an error with a variable : unknown variable 'default-character-set=utf8'

default-character-set is a variable used for the client and not for the server.

I suspect that in your /etc/mysql/my.cnf file, there is a line

default-character-set=utf8

in the section [mysqld] instead of the section [mysql] or [client].

If you want to force your server to run with the UTF8 character set by default, in the my.cnf file you have to put

character-set-server = utf8

in the section [mysqld].

So your my.cnf file should looks like this:

[client]  default-character-set=utf8    [mysql]  default-character-set=utf8    [mysqld]  character-set-server = utf8  collation-server = utf8_unicode_ci  init-connect='SET NAMES utf8'  

the two last lines are there to enforce the use of the UTF8 'case insensitive' collation together with the UTF8 character set.

Once your MySQL will be start up, you can verify that UTF8 is used by issuing the following command at the Mysql prompt :

mysql> show variables like 'char%';  

giving a result like this one (for my own server - yours can be different) :

+--------------------------+----------------------------+  | Variable_name            | Value                      |  +--------------------------+----------------------------+  | character_set_client     | utf8                       |  | character_set_connection | utf8                       |  | character_set_database   | latin1                     |  | character_set_filesystem | binary                     |  | character_set_results    | utf8                       |  | character_set_server     | latin1                     |  | character_set_system     | utf8                       |  | character_sets_dir       | /usr/share/mysql/charsets/ |  +--------------------------+----------------------------+  8 rows in set (0.00 sec)  


Solution:2

According to this, you need to change the line

default-character-set=uf8  

in the file /etc/my.cnf to:

character-set-system=utf8  

and try again to start the server.


Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Previous
Next Post »