我正在根据这篇 MSDN 文章的指导创建一个 Microsoft SQL 服务器用户,并向系统提供以下命令:
CREATE LOGIN MyName WITH PASSWORD = 'MyPass';
使用我的$DatabaseName;
CREATE USER MyName FOR LOGIN MyName;
走
我使用 SQL Studio 通过单击Logins列表中的名称再次查看密码。在那里我看到密码上的星号太多了,它可能代表我给定的密码。
我的问题是,如果我根据我写的(纯文本)提供密码,我是否正确提供了密码?我在登录数据库时遇到问题,我现在不知道那里的密码是否正确。
(MSDN 上的链接没有说明任何关于加密的内容,但我不能说示例密码是否遵循某些加密规则。)
我知道有很多与此类似的问题,但似乎没有一个对我的问题有明确的答案,所以这就是我发布此内容的原因......我希望在正确的地方。
问题:
我有一个脚本,/etc/cron.daily其中执行每日数据库备份等。只要将密码硬编码到mysqldump命令的脚本中,它就可以正常工作。
#!/bin/sh
$ mysqldump -u [uname] -p[pass] db_name > db_backup.sql
Run Code Online (Sandbox Code Playgroud)
但是,不想在脚本中使用密码,我设置了~/.my.cnf文件 (chmod 600),其中存储了我的用户密码,因此mysqldump脚本中的命令将是无密码的。
~/.my.cnf
[mysqldump]
password="pass"
Run Code Online (Sandbox Code Playgroud)
#!/bin/sh
$ mysqldump -u [uname] db_name > db_backup.sql
Run Code Online (Sandbox Code Playgroud)
当我以 root 身份从命令行手动运行这个新脚本时,它就像一个魅力。
sudo sh /etc/cron.daily/daily-backup-script
Run Code Online (Sandbox Code Playgroud)
但是当cron想要运行它时,它无法转储数据库,并出现以下错误:
mysqldump: Got error: 1045: Access denied for user 'user'@'localhost' (using password: NO) when trying to connect.
Run Code Online (Sandbox Code Playgroud)
所以,我认为cron没有相应的权限才能执行密码的mysqldymp脚本命令中,用密码放在~/.my.cnf,但是脚本和密码的mysqldump命令它是从完美用命令行工作sudo。
迄今为止的努力:
sudo中的mysqldump命令前面尝试过。sudo -u …我可以在 SQL Server 2012/2014 上获得的最大密码大小是多少?我无法在网上找到这些信息。
我的意思是 SQL Server 凭据本身,而不是表中的密码。
非常感谢
问题:
全新安装 mariadb 10.4 后,无法使用 ansible 设置 root 密码。
当 mariadb 从 debian 软件包(不是官方 debian 软件包)安装 mariadb 时,密码为root空,并且可以从 localhost 进行无密码登录。
尽管如此,ansiblemysql_user还是抛出了以下错误:
failed: [XXX] (item=localhost) => {"ansible_loop_var": "item", "changed": false, "item": "localhost", "msg": "unable to connect to database, check login_user and login_password are correct or /root/.my.cnf has the credentials. Exception message: (1698, \"Access denied for user 'root'@'localhost'\")"}
我正在编写一个类似 sqplus 的程序。我假设连接字符串包含密码(如果它包含斜杠),例如scott/tiger或scott/tiger@orcl。
if connect string does not contain "/":
prompt for password entry
Run Code Online (Sandbox Code Playgroud)
是否存在用户可以拥有连接字符串scott或scott@orcl不需要提示输入密码的情况?
我已经接管了一个使用 postgres 的系统。登录时,如果我使用...
sudo -u postgres psql postgres
Run Code Online (Sandbox Code Playgroud)
...它不要求输入密码。但是,如果我这样做...
psql -U postgres -h localhost postgres
Run Code Online (Sandbox Code Playgroud)
...它要求输入密码。
为什么?这种差异是如何配置的?是否可以为不同的用户配置以这种方式登录?
(注意:用户postgres不在sudoers文件中,也不在 sudo 组中。