AWS服务器在ubuntu系统上安装部署MySQL和Phpmyadmin
采坑无数血泪史
使用环境
AWS EC2 + ubuntu
安装程序
MySQL + Phpmyadmin
安装MySQL
安装流程
1、选中 实例 ,点击 连接 登录到AWS服务器的Linux系统中,打开EC2的命令行窗口
2、以管理员权限运行以下命令更新软件包列表,中间需要输入y:
sudo yum update
3、安装MySQL数据库:
sudo apt-get install mysql-server
4、安装完成后,运行以下命令启动MySQL服务,中途可能会提醒你设置mysql密码(但是我的没有,导致绕了很大弯):
sudo systemctl start mysql
5、使用以下命令检查MySQL服务是否正在运行:
sudo systemctl status mysql
ps:登录数据库:
sudo mysql -u root -p
然后输入密码,如果到这里能正常登录到mysql,那么证明mysql安装成功。
*注意!!!如果你在安装过程中设置密码了,并且使用该密码能正确登录,那么后面的6、7、8、9都不用看*
!
如果你希望MySQL服务在系统启动时自动启动,可以运行以下命令将其添加为系统服务:
sudo systemctl enable mysql
解决安装过程中没有自动生成mysql密码
6、如果在安装mysql过程中没有设置密码,在安装软件包的过程中,系统会为 MySQL root 帐户配置了一个初始密码。可以从 MySQL 日志文件中找到此密码。
sudo cat /var/log/mysqld.log | grep "A temporary password"
此处可能会报错“cat: /var/log/mysqld.log: No such file or directory”
,此时就需要使用以下命令登录到MySQL:
sudo mysql -u root
如果无法登录,尝试使用以下命令,系统将提示输入密码,如果密码正确,将登录到MySQL命令行界面。:
sudo mysql -u root -p
7、一旦登录成功,可以使用以下命令查看MySQL的root用户密码(系统将显示root用户的详细信息,其中包括密码。密码将被加密,因此可能不容易阅读。):
SELECT User, Host, Password FROM mysql.user WHERE User = 'root';
此时也可能报错“ERROR 1054 (42S22): Unknown column 'Password' in 'field list'”
,原因是在MySQL中,“Password”列已经被弃用,这可能导致该错误。
此时需要使用以下命令:
SELECT User, Host, authentication_string FROM mysql.user WHERE User = 'root';
8、使用该命令后authentication_string列可能显示为空,这是因为使用旧版本的MySQL或者新版本的MySQL在升级后没有正确分配密码所致。可以尝试以下方法来设置MySQL的root密码:
(1)登录到MySQL:
sudo mysql -u root
(2)设置新密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
其中,“123456”是要设置的新密码,设置成功后在authentication_string下显示的是加密后的密码。
如果MySQL版本较旧,则可以使用以下命令更改密码:
UPDATE mysql.user SET Password=PASSWORD('new_password') WHERE User='root';
new_password改为你设置的新密码
9、更改密码后,使用以下命令刷新权限:(重要!!!)
FLUSH PRIVILEGES;
10、最后,使用以下命令再次查看root用户的权限:
SELECT user,authentication_string,plugin,host FROM mysql.user WHERE user = 'root';
安装Phpmyadmin
1、运行下面的命令:
sudo apt-get install phpmyadmin
2、在安装过程中会提示你选择Web服务器,选选择Apache2,按回车
3、选择“是”以配置数据库(MySQL)自动配置phpMyAdmin。
4、然后输入MySQL的root用户密码,按“下”方向键选择yes。
这里一定不要搞错了,是mysql中root的密码,一定要填,不要只知道往后面回车,好好看!
5、接下来输入phpMyAdmin的管理员密码,用于登录phpMyAdmin管理界面。
这是用来设置phpmyadmin的登录密码,一定要记住,不然后面回登录不上,这个登录密码和mysql的登录密码不是一个!这个是单独设的!
6、安装完成后,在你的Web浏览器中打开http://localhost/phpmyadmin,或者是http://ip-address/phpmyadmin,ip-address换成你自己的外部ip。然后输入你刚才设置的管理员用户名和密码即可登录phpMyAdmin。
安装phpmyadmin的报错
报错
当访问http://ip-address/phpmyadmin时显示页面如下:
解决方法
1、使用SSH连接到AWS Ubuntu服务器,然后使用以下命令打开Apache的配置文件。
sudo nano /etc/apache2/apache2.conf
2、在apache2.conf最下面添加以下行:
Include /etc/phpmyadmin/apache.conf
3、保存并关闭文件,然后重启 Apache 服务。
sudo service apache2 restart
4、访问 phpMyAdmin 网页界面,在浏览器中输入以下网址,看是否能够正常访问。
http://<公共 DNS>/phpmyadmin/
但是我这样处理了之后还是报错,分析原因大概是PHP没安装或版本不对,于是执行以下命令:
#使用以下命令更新Ubuntu软件包列表:
sudo apt update
#安装PHP及其常用扩展:
sudo apt install php libapache2-mod-php php-mysql php-cli
#安装后,可以使用以下命令检查 PHP 版本:
php -v
#如果成功安装了 PHP,则应以类似以下的行显示 PHP 版本信息:
PHP 7.4.3 (cli) (built: Oct 6 2020 15:47:56) ( NTS )
#安装完毕后,您需要重新启动 Apache 服务使其能够使用新的 PHP 功能。您可以使用以下命令来重新启动 Apache 服务:
sudo service apache2 restart
最后再访问http://<公共 DNS>/phpmyadmin/
要老命,终于成功了!!!!!泪目打在公屏上!
写在最后
使用AWS创建实例部署项目,由于是小白钻了很多坑,写下来供我后面避坑。(别问我为什么不用国内的云,用宝塔面板少走几小时弯路,主要是AWS免费一年啊!部属个项目玩玩还是可以的),创建实例的那几个镜像都用过,说一下各自遇到的问题:
1号:安装MySQL出现各种权限问题
4号:很方便,可以使用win自带的远程连接,还有可视化界面,但就是太慢了(可能氪金就好点?)
5号:连接实例的时候连接不上
其他的没用过
最终使用的Ubuntu弄好了
安装过程中使用到的其他一些linux指令
sudo systemctl start mysql # 启动MySQL服务
sudo systemctl stop mysql # 停止MySQL服务
sudo systemctl restart mysql # 重启MySQL服务
#查看MySQL的root用户密码:
SELECT User, Host, Password FROM mysql.user WHERE User = 'root';
#启动Apache
sudo apachectl start
#停止Apache:
sudo apachectl stop
#重启Apache:
sudo apachectl restart
后面有的话再更新~~~~