:::info 💡 linux安装mysql并在django中连接mysql :::

汇报人:puppet洛洛
日期:2022年5月8日21:58:11

1.linux安装mysql

通过此链接中的方法安装:
https://www.linuxidc.com/Linux/2019-12/161832.htm#:~:text=Linux%20%E4%B8%8B%20MySQL%20%E5%AE%89%E8%A3%85%E4%B8%8E%E9%85%8D%E7%BD%AE%201%20%E3%80%81%E4%B8%8B%E8%BD%BDMysql%E3%80%82%202%20%E3%80%81%E8%A7%A3%E5%8E%8B%E5%AE%89%E8%A3%85%E5%8C%85,8%20%E3%80%81%E5%88%9B%E5%BB%BA%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E5%B9%B6%E8%B5%8B%E4%BA%88%E5%AF%B9%E5%BA%94%E6%9D%83%E9%99%90%209%20%E3%80%81%E5%B0%86mysql%E5%8A%A0%E5%85%A5%E6%9C%8D%E5%8A%A1%E5%B9%B6%E8%AE%BE%E7%BD%AE%E5%BC%80%E6%9C%BA%E8%87%AA%E5%90%AF%E5%8A%A8%2010%20%E3%80%81%E5%90%AF%E5%8A%A8Mysql%E6%9C%8D%E5%8A%A1%E5%B9%B6%E8%BF%9E%E6%8E%A5%E6%95%B0%E6%8D%AE%E5%BA%93….%20%E6%9B%B4%E5%A4%9A%E7%BB%93%E6%9E%9C…%20
1,安装过程中出现如下错误:ERROR 1698 (28000): Access denied for user ‘root’@’localhost’

  • 出现场景:这个问题一般出现在刚刚安装完mysql的时候
  • 出现原因:由于使用命令sudo apt-get install mysql安装时,并没有提示输入密码,则密码没有初始化,使用root用户登录自然失败.

解决办法:https://cloud.tencent.com/developer/article/1142525
这个问题是没有设置用户导致的,通过 sudo cat /etc/mysql/debian.cnf 这个命令可以查找到mysql默认的用户和密码:
image.png
当然,你不想用默认的账户密码,你也可以通过 sudo vim /etc/mysql/debian.cnf 命令去查看,再用以下链接中的方法修改:
https://cloud.tencent.com/developer/article/1721348

相关命令:
1,安装
sudo apt install MySQL-server
2,查看版本
mysql —version
3,检查它是否正在运行
systemctl status mysql.service
4,启动MySQL服务器
sudo systemctl start mysql
5,提高MySQL安装的安全性
sudo mysql_secure_installation
6,以root用户登录MySQL
mysql -u root -p
7,查看mysql默认用户及密码
sudo cat /etc/mysql/debian.cnf
sudo vim /etc/mysql/debian.cnf
8,重启mysql
/etc/init.d/mysql restart

2.django连接mysql

因为要连接mysql,所以django项目需要安装: pip3 install pymysql
然后再settings.py文件里进行如下设置:

  1. DATABASES = {
  2. 'default': {
  3. # 'ENGINE': 'django.db.backends.sqlite3',
  4. # 'NAME': BASE_DIR / 'db.sqlite3',
  5. 'ENGINE': 'django.db.backends.mysql',
  6. 'NAME': '{}'.format(database),
  7. 'USER': '{}'.format(mysqlUSER),
  8. 'PASSWORD': '{}'.format(mysqlPASSWORD),
  9. 'HOST': '{}'.format(CurrentServerIp),
  10. 'PORT': '{}'.format(CurrentPort),
  11. }
  12. }

在与项目名同名的的文件夹下的init文件下添加:

  1. import pymysql
  2. pymysql.install_as_MySQLdb()

参考连接:
https://cloud.tencent.com/developer/article/1779029

3.风险同步

存在哪些风险、对应的对策是什么。

由于需要调用外网数据,需要在预发环境搭建代理,接下来需要考虑代理的通用性,在其他需要外网数据配合的需求中可以直接使用。

下周计划

接下来要做什么、是否需要其他协助。

下周开始主要投入XXX、XXX等功能点开发,依赖于中台团队提供接口,下周一和中台团队的xxx沟通确认。

思考

有什么想法或心得体会,都可以拿出来分享下。