我是一名相对较新的 LAMP 开发人员,主要通过 AWS 学习 Linux。我有一个正在运行的实时 Elastic Beanstalk 实例。我使用 yum 安装以下软件包:
mysql55.x86_64 mysql55-bench.x86_64 mysql55-common.x86_64 mysql55-devel.x86_64 mysql55-libs.x86_64 mysql55-server.x86_64 mysql55-test.x86_64
一切似乎都安装良好...然后输入...
mysql -V
这让我
mysql Ver 14.14 Distrib 5.5.20, for Linux (x86_64) using readline 5.1
...这确认mysql已安装...但是当我输入...
mysql -u ec2-user -p
Enter password: /*leaving blank*/
我明白了......
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
现在,我正在使用我在 AWS 控制台中创建的安全组密钥对 ssh 进入此服务器。因此,当我以 ec2-user 身份登录到框中时,密钥会对我进行身份验证(来自 .ppk 文件)。据我所知,这是我的“根”用户,没有密码,但我可能弄错了。
所以,基本上我不了解如何在 Linux 环境中开始使用 MySQL 的基础知识。到目前为止,我只真正使用过 PHPMyAdmin 和 WAMP 中的 MySQL 命令行。
有人能帮我解决一下我这里遇到的问题吗?
答案1
它不适用于在 Elastic Beanstalk 实例上运行 MySQL。如果您需要使用 MySQL,则应该在单独的实例上运行它,或者使用 Amazon RDS。原因是您的实例不是持久的,并且可以随时重新启动,而无需原始 AMI 发出警告。如果发生这种情况,就和数据库说再见了。
有一个对该问题的进一步讨论在 AWS 论坛上。
也就是说,如果你只是测试,jnizjo 的说明将为您启动并运行 MySQL 服务器。
答案2
您需要启动 MySQL:
# chkconfig mysql on
# service mysql start
检查 MySQL 服务器:
# ps aux | grep mysqld
mysql 3098 2.3 9.1 326852 34912 ? Ssl 09:27 0:00 /usr/sbin/mysqld
并记录:
# less /path_to_mysql_log