我试图从我的服务器运行一个网站,所以我安装了 php、apache 和 mysql。
我遇到了 mysql 问题。安装后,无法重新启动。
这是输出:
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]:
答案1
根据日志,变量存在错误:unknown variable 'default-character-set=utf8'
default-character-set
是用于客户端而不是服务器的变量。
我怀疑你的/etc/mysql/my.cnf
文件中有一行
默认字符集=utf8
在部分中[mysqld]
,而不是部分[mysql]
或[client]
。
如果你想强制你的服务器默认使用 UTF8 字符集运行,那么my.cnf
你必须在文件中输入
字符集服务器 = utf8
在 部分 中[mysqld]
。
所以你的my.cnf
文件看起来应该是这样的:
[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'
最后两行是为了强制使用 UTF8“不区分大小写”排序规则和 UTF8 字符集。
一旦你的 MySQL 启动了,你可以通过在 Mysql 提示符下发出以下命令来验证是否使用了 UTF8:
mysql> show variables like 'char%';
给出如下结果(对于我自己的服务器 - 你的可能不同):
+--------------------------+----------------------------+
| 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)