在亚马逊的Tokyo Region使用了个AWS EC2。
安装了Ubuntu 11.10的AMI之后,按照惯例安装各种软件, apache2.2, Mysql5.1。
在安装号mysqld启动的时候,发现如下错误:
[ERROR] Fatal error: Can't change to run as user 'mysql' ; Please check that the user exists!
原因:
在/etc/mysql/my.cnf的配置文件中,
#
# * IMPORTANT
# If you make changes to these settings and your system uses apparmor, you may
# also need to also adjust /etc/apparmor.d/usr.sbin.mysqld.
#
user = mysql
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
原来mysql server在启动的时候使用了mysql作为linux用户。
我们可以把配置文件中的 user=mysql 中的mysql改为当前我们正在使用的用户,比如我目前在用ubuntu用户, 这样就能解决问题。
当然还有另外一种办法。
我们先看看mysql这个用户到底在不在。
使用groups命令查看:
groups
ubuntu adm dialout cdrom floppy audio dip video plugdev netdev admin
很明显,不在嘛!
那我们就添加进去。
sudo groupadd -g 315 mysql
sudo useradd -u 315 -g mysql -d /var/lib/mysql -M mysql
启动mysql,sudo mysqld start。
但是又报错啦:
111210 13:24:46 [Note] Plugin 'FEDERATED' is disabled.
mysqld: Table 'mysql.plugin' doesn't exist
111210 13:24:46 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
以上错误透露如下信息:
1.提示表不存在"Table 'mysql.plugin' doesn't exist"
2.可能是没有执行 mysql_install_db - u mysql 或 mysql_upgrade创建初始mysql数据库
而且启动选项中多了一个不支持的选项--skip-federated
那我们就执行下如下命令,看能否解决上述问题:
sudo mysql_install_db --user=mysql --datadir=/var/lib/mysql
Neither host 'ip-10-146-22-118' nor 'localhost' could be looked up with
/usr/bin/resolveip
Please configure the 'hostname' command to return a correct
hostname.
If you want to solve this at a later stage, restart this script
with the --force option
以前的问题还没有解决,又来新问题啦。。。
Google搜索下,搜到了以下链接的文章:
http://blog.chinaunix.net/space.php?uid=259788&do=blog&id=2139245
试了各种办法,都没法解决,包括修改hosts文件,最后只能强制执行了。
(后来我发现,其实只要将/etc/hostname文件中的内容ip-10-146-22-118给修改为127.0.0.1就行了。)
sudo mysql_install_db --user=mysql --datadir=/var/lib/mysql --force
Installing MySQL system tables...
OK
Filling help tables...
OK
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h ip-10-146-22-118 password 'new-password'
Alternatively you can run:
/usr/bin/mysql_secure_installation
which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.
See the manual for more instructions.
You can start the MySQL daemon with:
cd /usr ; /usr/bin/mysqld_safe &
You can test the MySQL daemon with mysql-test-run.pl
cd /usr/mysql-test ; perl mysql-test-run.pl
Please report any problems with the /usr/scripts/mysqlbug script!
还好,算是成功了。
等等!!
我这边已经是晚上11点了,系统上怎么显示的是下午一点呢!
难道东京亚马逊的AWS没有给俺设定好时区?
查看下:
date -R
Sat, 10 Dec 2011 13:50:00 +0000
果然,我这边是东9区。它竟然给我弄个0区。
先搜索如何修改:
http://www.xgdown.com/article/53/142110_1.htm
再修改之:
sudo cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
sudo ntpdate jp.pool.ntp.org
jp.pool.ntp.org是位于日本的公共NTP服务器,用来同步系统时间。
关于全球各地的NTP服务器,可以参考这里:
http://www.pool.ntp.org/zone/@
成功修改时间。
不好意思,跑题了。。。
接下来继续启动Mysql Server,靠,还有错!
sudo mysqld restart
111210 23:39:04 [Note] Plugin 'FEDERATED' is disabled.
111210 23:39:04 InnoDB: Initializing buffer pool, size = 8.0M
111210 23:39:04 InnoDB: Completed initialization of buffer pool
111210 23:39:04 InnoDB: Started; log sequence number 0 44233
mysqld: Too many arguments (first extra is 'restart').
Use --verbose --help to get a list of available options
111210 23:39:04 [ERROR] Aborting
111210 23:39:04 InnoDB: Starting shutdown...
111210 23:39:09 InnoDB: Shutdown completed; log sequence number 0 44233
111210 23:39:09 [Note] mysqld: Shutdown complete
继续Google搜索答案,尝试如下方法:
sudo chown mysql:mysql /var/lib/mysql/ -R
sudo chmod g+rw /var/lib/mysql/ -R
sudo /usr/sbin/mysqld --skip-grant &
还是出错:
sudo mysqld
111211 0:40:54 [Note] Plugin 'FEDERATED' is disabled.
111211 0:40:54 InnoDB: Initializing buffer pool, size = 8.0M
111211 0:40:54 InnoDB: Completed initialization of buffer pool
111211 0:40:54 InnoDB: Started; log sequence number 0 44233
111211 0:40:54 [ERROR] Can't start server : Bind on unix socket: No such file or directory
111211 0:40:54 [ERROR] Do you already have another mysqld server running on socket: /var/run/mysqld/mysqld.sock ?
111211 0:40:54 [ERROR] Aborting
111211 0:40:54 InnoDB: Starting shutdown...
111211 0:40:59 InnoDB: Shutdown completed; log sequence number 0 44233
111211 0:40:59 [Note] mysqld: Shutdown complete
没有写目录的权限。就给它写的权限:
sudo chmod 777 /var/run/mysqld/
再次运行 sudo mysqld &, 成功启动。
但是登陆的时候又出问题!
E
RROR 1045 (28000): Access denied for user ''@'localhost' (using password: NO)
解决办法:
1,先停止mysqld服务, 注意,u,p后没有空格
sudo mysqladmin -uroot -ppassword shutdown
2,通过以下方式启动Mysql Server
sudo mysqld --skip-grant &
3,输入mysql命令,进入,然后执行以下语句。
mysql> use mysql;
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> \q
4,再次启动Mysql Server。
sudo mysqld &
5,使用以下命令登陆Mysql数据库:
mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.1.58-1ubuntu1 (Ubuntu)
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
终于成功。
真折腾人啊,每次重新弄个环境,就要花费好长时间折腾这些玩意儿。
下面的内容挺有用的,分享下链接:
http://www.cnblogs.com/wuhou/archive/2008/09/28/1301071.html
分享到:
相关推荐
在Ubuntu VPS上安装Docker时,可能会遇到一个常见的错误:“Cannot connect to the Docker daemon at unix:///var/run/docker.sock.” 这个问题通常是由于Docker守护进程未运行或者是由于Linux内核版本过低导致的。...
MySQL数据库在启动时可能会遇到各种错误,其中一种常见的报错是"File ./mysql-bin.index not found (Errcode: 13)"。这个错误通常表明MySQL无法找到它的二进制日志索引文件(mysql-bin.index),并且错误代码13通常...
从官网下载了Python3.7.4,直接编译安装后,使用pip3出现了报错信息: Can’t connect to HTTPS URL because the SSL module is not available 错误原因 在Python3.7之后的版本,依赖的openssl,必须要是1.1或者...
vsftp出现550 Failed to change directory Ubuntu 获取软件失败 404错误 解决Ubuntu提示500 OOPS: vsftpd: refusing to run with writable root inside chroot()
MySQL导入sql脚本错误:2006 – MySQL server has gone away 到如一些小脚本很少报错,但最近导入一个10+M的SQL脚本,却重复报错: Error occured at:2014-03-24 11:42:24 Line no.:85 Error Code: 2006 - MySQL ...
然而,在操作过程中,有时会碰到“Access denied for user 'root'@'localhost' (using password: YES)”这样的错误提示,这通常是由于MySQL的权限配置问题导致的。本文将详细解析这个问题的原因,并提供一种有效的...
Ubuntu 安装 MySQL 5.6 完整步骤说明 在本文中,我们将详细介绍在 Ubuntu 系统中安装 MySQL 5.6 的完整步骤。MySQL 是一个流行的关系数据库管理系统,广泛应用于 Web 应用程序中。本文将涵盖从下载安装包到设置远程...
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) ``` 这个错误提示表示 MySQL 服务没有启动。可以使用以下命令启动 MySQL 服务: ``` # /etc/init.d/...
- **全局级权限**:控制对整个MySQL服务器的操作,如启动、停止服务等。 - **数据库级权限**:控制对特定数据库的操作,例如创建、删除数据库等。 - **表级权限**:控制对特定表的操作,如插入、更新、删除数据等。 ...
在Windows 10中使用Windows Subsystem for Linux (WSL) 运行Docker时,可能会遇到“Cannot connect to the Docker daemon at unix:///var/run/docker.sock.”的错误。这个错误通常意味着Docker守护进程(Docker ...
"Ubuntu安装指定版本mysql详解" 在本文中,我们将详细介绍如何在Ubuntu系统下安装指定版本的MySQL数据库管理系统。MySQL是最流行的开源关系数据库管理系统之一,广泛应用于Web应用程序和企业级应用程序中。下面将一...
在Ubuntu系统中安装MySQL是一个常见的任务,特别是在搭建服务器或开发Web应用时。MySQL是一个流行的开源关系型数据库管理系统,被广泛用于存储和管理数据。本文将详细介绍如何在Ubuntu上安装MySQL,以及涉及的配置...
在Linux环境中,特别是Ubuntu系统,有时我们可能需要离线安装MySQL数据库服务器,特别是在没有网络连接或者网络环境受限的服务器上。本教程将详细介绍如何使用提供的"Ubuntu-mysql5.7.25离线完整安装包"来在Ubuntu...
Ubuntu 11.04 和 11.10 中安装 VMWare Tools 时,可能会出现以下问题:Searching for GCC...Detected GCC binary at "/usr/bin/gcc".The path "/usr/bin/gcc" appears to be a valid path to the gcc binary.Would ...
在本文中,我们将深入探讨如何有效解决“ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost’ (111)”这个错误,它通常发生在尝试连接到本地MySQL服务器时失败的情况。 首先,这个错误代码...
首先是不知道怎么忽然mysql用命令行,workbench都登录不了,都提示’Access denied for user ‘root’@’localhost’。 数据库卸载重装了几次都不行。好像感觉数据清理不干净。解决的过程遇到的坑,这里记录分享下。...
总结一下,Ubuntu上安装MySQL的步骤包括更新系统、添加MySQL仓库、安装MySQL Server、设置密码、启动服务、执行安全设置和登录数据库。在使用过程中,如果遇到任何问题,记得查阅官方文档或在线社区寻找解决方案。...