1 S postgres 5038 876 0 80 0 - 11962 sk_wai 09:57 ? 00:00:00 postgres: postgres my_app ::1(45035) idle
1 S postgres 9796 876 0 80 0 - 11964 sk_wai 11:01 ? 00:00:00 postgres: postgres my_app ::1(43084) idle
Run Code Online (Sandbox Code Playgroud)
我看到了很多.我们正在尝试修复连接泄漏.但与此同时,我们希望为这些空闲连接设置超时,最长可达5分钟.
实际上我正在开发我的Spring启动应用程序项目,我注意到有时在另一台服务器(SQL Server)上的数据库连接超时,特别是当我尝试使用FlyWay进行一些脚本迁移时,但是尝试.我注意到我没有在我的属性中指定FlyWay.然后我做了一些研究,发现建议加入
spring.jpa.hibernate.ddl-auto开发.并将其改为:spring.jpa.hibernate.ddl-auto= create-drop生产中.但我实际上并没有理解它是如何工作的,以及hibernate如何生成数据库模式,创建值或使用none.您能否从技术上解释它是如何工作的,以及在开发和生产服务器中使用此属性的建议是什么.谢谢
我刚在服务器上创建了一个关于mysql的数据库.我想通过我的网站使用PHP连接到这个.这是我的连接文件的内容:
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'password';
$conn = mysql_connect($dbhost, $dbuser, $dbpass)
or die('Error connecting to mysql');
$dbname = 'epub';
mysql_select_db($dbname);
Run Code Online (Sandbox Code Playgroud)
我知道用户名/密码是什么,我知道服务器的IP地址.我只是想知道我怎么知道使用哪个端口?
我刚在Homebrew上安装了mysql
brew install mysql
mysql -V
mysql Ver 8.0.11 for osx10.13 on x86_64 (Homebrew)
Run Code Online (Sandbox Code Playgroud)
从终端它工作,我可以登录到mysql,但从Sequel Pro它说
无法连接到主机127.0.0.1,或请求超时.
确保地址正确并且您具有必要的权限,或尝试增加连接超时(当前为10秒).
MySQL说:无法加载身份验证插件'caching_sha2_password':dlopen(/usr/local/lib/plugin/caching_sha2_password.so,2):找不到图片
无法弄清楚我错过了什么
有这个简单的代码,我得到"不能删除数据库"test_db"因为它当前正在使用"(CleanUp方法),因为我运行它.
[TestFixture]
public class ClientRepositoryTest
{
private const string CONNECTION_STRING = "Data Source=.;Initial Catalog=test_db;Trusted_Connection=True";
private DataContext _dataCntx;
[SetUp]
public void Init()
{
Database.SetInitializer(new DropCreateDatabaseAlways<DataContext>());
_dataCntx = new DataContext(CONNECTION_STRING);
_dataCntx.Database.Initialize(true);
}
[TearDown]
public void CleanUp()
{
_dataCntx.Dispose();
Database.Delete(CONNECTION_STRING);
}
}
Run Code Online (Sandbox Code Playgroud)
DataContext有一个这样的属性
public DbSet<Client> Clients { get; set; }
Run Code Online (Sandbox Code Playgroud)
如何强制我的代码删除数据库?谢谢
database unit-testing entity-framework database-connection entity-framework-4.1
我正在做这样的事......
conn = sqlite3.connect(db_filename)
with conn:
cur = conn.cursor()
cur.execute( ... )
Run Code Online (Sandbox Code Playgroud)
with自动提交更改.但是文档没有提到关闭连接.
实际上我可以conn在以后的陈述中使用(我已经测试过).因此,似乎上下文管理器没有关闭连接.
我是否必须手动关闭连接.如果我把它打开怎么办?
编辑
我的结论......
__exit__,上下文管理器ONLY通过执行来提交更改conn.commit()with conn并且with sqlite3.connect(db_filename) as conn是同一件事.所以使用其中任何一个仍将使连接保持活跃with 语句不会创建新范围,因此在with的套件内创建的所有变量都可以在其外部访问我已经安装了MySQL 8.0服务器和phpMyAdmin,但是当我尝试从浏览器访问它时,会发生以下错误:
#2054 - The server requested authentication method unknown to the client
mysqli_real_connect(): The server requested authentication method unknown to the client [caching_sha2_password]
mysqli_real_connect(): (HY000/2054): The server requested authentication method unknown to the client
Run Code Online (Sandbox Code Playgroud)
我想它必须与实施的强密码和MySQL版本的相对新鲜度有关.
但我对最先进的驱动程序和连接配置一无所知.
有人遇到同样的问题并解决了吗?:d
使用apt安装编辑
apt-get install mysql-server phpmyadmin
Run Code Online (Sandbox Code Playgroud) Flask/SQLAlchemy如何配置为创建新的数据库连接(如果不存在)?
我有一个不经常访问的Python/Flask服务器,它使用SQLAlchemy.每隔几天就会访问一次,并且在第一次访问时它经常会抛出"MySQL服务器已经消失"的错误.后续的页面视图很好,但是出现这个初始错误看起来不合适.
我想知道处理这个问题的正确方法 - 像"长时间休息"这样的建议,在这种情况下大约需要4天,似乎不正确.如何测试缺少数据库连接并在需要时创建一个?
Django 1.6现在支持CONN_MAX_AGE池数据库连接.
默认情况下,该值为0(无池).这个选项的合理价值是什么?
使用下面的代码让我打开一个连接,如何关闭?
import pyodbc
conn = pyodbc.connect('DRIVER=MySQL ODBC 5.1 driver;SERVER=localhost;DATABASE=spt;UID=who;PWD=testest')
csr = conn.cursor()
csr.close()
del csr
Run Code Online (Sandbox Code Playgroud) mysql ×4
python ×3
database ×2
ddl ×1
django ×1
django-1.6 ×1
flask ×1
hibernate ×1
jpa ×1
mysql-8.0 ×1
php ×1
phpmyadmin ×1
port-number ×1
postgresql ×1
sequelpro ×1
spring ×1
sqlalchemy ×1
sqlite ×1
unit-testing ×1