为啥只有root用户才能进入mariadb啊?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥只有root用户才能进入mariadb啊?相关的知识,希望对你有一定的参考价值。
参考技术A 操作:1、创建/data目录
mkdir /data
chmod 777 /data(要给这个目录至少要附加读写权限)
2、把mariadb服务停掉:
systemctl stop mariadb.service
3、把/var/lib/mysql整个目录复制到/data
cp -r /var/lib/mysql/* /data/
这样就把MySQL的数据文档复制到了/data下
4、编辑mariadb的配置文档/etc/my.cnf
在[client]下添加:
把原来的socket=/var/lib/mysql/mysql.sock,前边加#注释掉,添加socket=/data/mysql.sock(以防有问题再改回来)。
在[mysqld]下添加:
把原来的socket=/var/lib/mysql/mysql.sock,前边加#注释掉,添加socket=/data/mysql.sock(以防有问题再改回来)。
datadir =/datal (这行没有,需要自己加上)
保存后退出。
5、 chown -R mysql:mysql /data/mysql
6、重新启动mariadb服务
systemctl start mariadb.service。
为啥 VBScript 服务只有在用户登录时才能工作?
【中文标题】为啥 VBScript 服务只有在用户登录时才能工作?【英文标题】:Why will VBScript service only work when a user is logged in?为什么 VBScript 服务只有在用户登录时才能工作? 【发布时间】:2012-07-17 11:57:30 【问题描述】:我们从一个 Web 服务中执行一个脚本,该脚本在 VBScript 中执行一些操作。此脚本从命令行运行而不会出现错误。当我们使用 ProcessStartInfo 从服务运行此脚本时,当运行该进程的用户未登录时,它不会执行。我们收到此错误:CScript 错误:加载您的设置失败。 (访问被拒绝。)虽然,当执行服务的用户通过远程桌面登录时,服务运行成功。什么可能导致这种情况,我们如何解决这个问题?
【问题讨论】:
您有searched 的错误吗? 我在***上搜索过......我会看看那个链接。 我们做了所有这些操作,但是运行进程监视器的提示是一个很好的提示。我们试一试。 我们运行了进程监视器,但我没有看到注册表访问...? 【参考方案1】:当您收到“访问被拒绝”消息时,运行 VBScript 的用户身份是什么?我敢打赌它是NT AUTHORITY\NETWORK SERVICE
,这可以解释它。
当您在通过 cmd 登录或在资源管理器中双击时运行任何内容时,该进程将在当前用户的用户身份(安全上下文)下运行。当您在本地控制台会话(例如服务会话)之外运行它时,它通常以父服务进程的用户身份运行。
您所说的“服务”是指 Windows 服务(您在 Services.msc 中看到的)还是您的 Web 服务?如果它是 Web 服务,那么它会在当前 IIS 应用程序池的用户身份下运行。
尝试从您的网络服务脚本运行“whoami”(它是一个命令行程序),并让它将控制台输出重定向到一个文件。这将告诉您当前正在使用的用户身份。
【讨论】:
我们做了 whoami 把戏,它是正确的用户。在此之后,我们尝试重新启动,现在它可以工作了。以上是关于为啥只有root用户才能进入mariadb啊?的主要内容,如果未能解决你的问题,请参考以下文章
mariadb怎么设置密码,度娘的方法都没有效果,请大神看看问题出在哪,要用啥命令行语句才能设置