连接到Lightsail数据库

简介:应用程序的Web前端的第一次迭代不建议固有的可伸缩性,因为数据库和前端位于同一台机器,只需要额外的前端容量,添加额外的数据库实例就会出现问题,若想解决此问题,需要分离前端和数据库,在此步骤中,您将调整PHP前端的配置,使其指向先前部署的Lightsail数据库。

1、进入Lightsail控制台主页:

https://lightsail.aws.amazon.com/ls/webapp/home/

单击 “数据库”

2、单击 todo-db (注意:这是之前创建的Lightsail数据库名)

3、在 “连接详细信息”下,将“EndPoint(端点)”复制到文本编辑器.

示例:

该Endpoint类似于ls-996d5vf212312123f1ds1fsd23fs2d1s2d31fs23d1f32s1f23ds.cucxkvhp11zu.us-west-2.rds.amazonaws.com

4、在SSH窗口中,创建一个名为(LS_ENDPOINT)的环境变量,以通过以下方式保存数据库端点的值:

①粘贴:LS_ENDPOINT=’MYENDPOINT’

注意,此处的MYENDPOINT请替换为刚刚的数据库端点,按ENDER键生效

示例:



5、为默认用户名创建环境变量(dbmasteruser),和您之前创建的密码(taskstasks);

LS_username=dbmasteruser && LS_PASSWORD=taskstasks

6、验证是否成功并正确的设置了环境变量:

echo "Endpoint = "$LS_ENDPOINT && echo "username = "$LS_username && echo "Password = "$LS_PASSWORD

7、创建一个指向Lightsail数据库的新配置文件:

**

cat /opt/bitnami/apache2/configs/config.php.bak | \
sed "s/<endpoint>/$LS_ENDPOINT/; \
s/<username>/$LS_username/; \
s/<password>/$LS_PASSWORD/;" \
>> /opt/bitnami/apache2/configs/config.php.lightsail_db

**

8、验证文件是否已正确修改:

cat /opt/bitnami/apache2/configs/config.php.lightsail_db

9、激活新配置:

cp /opt/bitnami/apache2/configs/config.php.lightsail_db /opt/bitnami/apache2/configs/config.php

10、验证是否已修改活动配置文件:

cat /opt/bitnami/apache2/configs/config.php

11、在新浏览器选项卡中,运行install.php脚本以通过以下方式配置数据库:

在浏览器中输入:

http://PUBLIC-IP/install.php

将PUBLIC-IP替换为Lightsail实例的公有IP地址

再次刷新网页,因为前端现在指向新数据库;

12、在浏览器中,通过以下方式测试新数据库:

在浏览器中输入:

http://PUBLIC-IP

将PUBLIC-IP替换为您Lightsail中实例的公有IP地址

因为您已将前端指向新数据库引擎,所有不应该显示任何任务。

13、接下来您将从本地的MySQL数据库迁移到由Lightsail甘丽的数据库中,这是通过使用2个命令行实用程序来完成的:mysqldump和mysql。下面的命令使用mysqldump从本地数据中提取内容,然后将其作为输入传递给mysql使用程序命令,该命令将输入加载到由Lightsail管理的数据库中。

在SSH窗口中,输入:

**

mysqldump -u root \
--databases tasks \
--single-transaction \
--compress \
--order-by-primary \
-p$(cat /home/bitnami/bitnami_application_password) \
| mysql -u $LS_username \
--port=3306 \
--host=$LS_ENDPOINT \
-p$LS_PASSWORD

**

在执行完此命令后,您将看到2条警告信息,请您忽略这2条警告

请注意,在真实的生产环境中,您不应该通过命令行提供密码,尤其是在脚本中。

14、再次刷新网页,您应该可以看到最初创建的任务现在存在于由Lightsail管理的数据库中。

最新文章

  1. 《一个操作系统的实现》学习笔记(一) bochs源码安装及配置
  2. php大力力 [047节] 寻找程序员的方法和应用
  3. 调用接口传递的XML 及排查原因
  4. 斑点检测(LoG,DoG) [上]
  5. poj 3077Rounders(模拟)
  6. OpenSSL使用方法
  7. ContactsContract.CommonDataKinds【Translated By KillerLegend】
  8. [React] Radium: Updating Button Styles via Props
  9. java排序算法(六):直接插入排序
  10. hibernate一级缓存及对象的状态
  11. int与integer的区别
  12. django+xadmin+echarts实现数据可视化
  13. tomcat-内存溢出java.lang.OutOfMemoryErrory:PermGen space解决方法
  14. JXL基本操作
  15. 基于jQuery滑动分步式进度导航条代码
  16. 当本机通过代理服务器上网时,本机无法打开在本机上的虚拟机(oracle vm)linux系统上的网站,但是局域网里的其他机器却可以打开
  17. [leetcode]381. Insert Delete GetRandom O(1) - Duplicates allowed常数时间插入删除取随机值
  18. Mybatis传值为空需要配置JdbcType来解决吗?(XML文件不需要配置JdbcType)
  19. webpack4.5.0+vue2.5.16+vue-loader 实战组件化开发案例以及版本问题中踩的一些大坑!!!
  20. Docker运行GUI软件的方法

热门文章

  1. POJ 2386 Lake Counting 题解《挑战程序设计竞赛》
  2. Flask/Tornado/Django
  3. linux,xshell命令
  4. Vue STOP&amp;SELF方法使用
  5. Codeforces Round #598 (Div. 3) F. Equalizing Two Strings 构造
  6. EEPROM的操作---SPI接口和I2C接口
  7. 参数检查(@property)
  8. D3力布图绘制--节点自己连自己的实现
  9. Unity 利用Cinemachine快速创建灵活的相机系统
  10. 08-Django模板(2)