包含privileges的词条
mysql什么时候需要flush privileges
必须使用flush privileges的两种情况

1、改密码。
2、授权超用户。
flush privileges 命令本质上的作用是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。
MySQL用户数据和权限有修改后,希望在"不重启MySQL服务"的情况下直接生效,那么就需要执行这个命令。
通常是在修改ROOT帐号的设置后,怕重启后无法再登录进来,那么直接flush之后就可以看权限设置是否生效。而不必冒太大风险。
扩展资料:
mysql 修改密码后,注意flush privileges。
mysql 新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表,否则会出现拒绝访问,还有一种方法,就是重新启动mysql服务器,来使新设置生效。
具体例子:
1、用户root用户进入mysql再打开mysql数据库(use mysql)后。
create user stu identified by ‘stu’; ##创建一用户stu并添加密码为stu。
exit; ##退出测试。
2、用新用户重新进入mysql。
mysql -ustu -pstu ##进入成功。
3、重新使用root用户进入mysql并打开mysql数据库。
update user set password=password (‘123456’) where user='stu'; ##更改stu用户密码为123456。
exit; ##再次退出测试。
4、直接以用户stu身份进入,用新密码进入看是否成功。
mysql -ustu -p123456; ##报错,密码不正确。
5、重新以root 用户登陆并进入mysql数据库,重新修改用户密码。
update user set password=password (‘123456’) where user='123456'; ##更改stu用户密码为123456
flush privileges; ##刷新MySQL的系统权限相关表。
exit;
6.再次退出,并以stu用户123456密码进入,测试成功。
flush privileges 什么意思
flush privileges
刷新权限
privileges
n.特权( privilege的名词复数 ); (因财富和社会地位而仅有部分人享有的)权益; 免责特权; 特殊荣幸;
例句:
1.
He was granted many privileges to cultivate crops.
他被给予许多特权来培育农作物。
access privileges是什么意思
1. 访问权限
2. 存取特权
3. 访问权限 存取权限
4. 访问特权
5. 存取权限
例句:
1.
Supplier's confidentiality obligation survives termination of its access privileges.
供应商所应承担的保密责任在其访问特权终止后仍将继续存在
SE_PRIVILEGE_ENABLED是什么样的权限?
1、关于提升权限的方法,在MSDN里面有一个好例子:
#include windows.h
#include stdio.h
#pragma comment(lib, "cmcfg32.lib")
BOOL SetPrivilege(
HANDLE hToken, // access token handle
LPCTSTR lpszPrivilege, // name of privilege to enable/disable
BOOL bEnablePrivilege // to enable or disable privilege
)
{
TOKEN_PRIVILEGES tp;
LUID luid;
if ( !LookupPrivilegeValue(
NULL, // lookup privilege on local system
lpszPrivilege, // privilege to lookup
luid ) ) // receives LUID of privilege
{
printf("LookupPrivilegeValue error: %u\n", GetLastError() );
return FALSE;
}
tp.PrivilegeCount = 1;
tp.Privileges[0].Luid = luid;
if (bEnablePrivilege)
tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
else
tp.Privileges[0].Attributes = 0;
// Enable the privilege or disable all privileges.
if ( !AdjustTokenPrivileges(
hToken,
FALSE,
tp,
sizeof(TOKEN_PRIVILEGES),
(PTOKEN_PRIVILEGES) NULL,
(PDWORD) NULL) )
{
printf("AdjustTokenPrivileges error: %u\n", GetLastError() );
return FALSE;
}
if (GetLastError() == ERROR_NOT_ALL_ASSIGNED)
{
printf("The token does not have the specified privilege. \n");
return FALSE;
}
return TRUE;
}
2、经过分析之后,于是写出开关Debug权限的函数:
BOOL CWarKeyDlg::EnableDebugPrivilege(BOOL bEnableDebugPrivilege)
{
HANDLE hToken;
TOKEN_PRIVILEGES tp;
LUID luid;
if(!::OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, hToken))
{
::MessageBox(this-GetSafeHwnd(), GET_TOKEN_ERROR, MSG_BOX_TITLE, MB_OK);
return FALSE;
}
if(!::LookupPrivilegeValue(NULL, SE_DEBUG_NAME, luid))
{
::MessageBox(this-GetSafeHwnd(), GET_PRIVILEGE_VALUE_ERROR, MSG_BOX_TITLE, MB_OK);
::CloseHandle(hToken);
return FALSE;
}
tp.PrivilegeCount = 1;
tp.Privileges[0].Luid = luid;
if(bEnableDebugPrivilege)
{
tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
}
else
{
tp.Privileges[0].Attributes = 0;
}
if(!::AdjustTokenPrivileges(hToken, FALSE, tp, sizeof(tp), NULL, NULL))
{
::MessageBox(this-GetSafeHwnd(), ADJUST_PRIVILEGE_ERROR, MSG_BOX_TITLE, MB_OK);
::CloseHandle(hToken);
return FALSE;
}
::CloseHandle(hToken);
if(::GetLastError() == ERROR_NOT_ALL_ASSIGNED)
{
::MessageBox(this-GetSafeHwnd(), ENABLE_DEBUG_ERROR, MSG_BOX_TITLE, MB_OK);
return FALSE;
}
return TRUE;
}
利用这个函数给自己的WarKey开启Debug权限,再访问魔兽进程的内存时,就可以读出其中的数据了。
grant all privileges on是什么意思
grant all privileges on
译为:在授予所有权限
相关单词:
grant
[英][grɑ:nt][美][grænt]
vt.承认; 同意; 准许; 授予;
n.拨款; 补助金; 授给物(如财产、授地、专有权、补助、拨款等);
vi.同意;
第三人称单数:grants
过去分词:granted
复数:grants
现在进行时:granting
过去式:granted
privileges
n.特权( privilege的名词复数 ); (因财富和社会地位而仅有部分人享有的)权益; 免责特权; 特殊荣幸;
SQLplus用户登录总是ora-01031:insufficient privileges是怎么回事
sqlplus "/ as sysdba" 连不上,报ora-01031:insufficient privileges解决方法
注意多个数据库实例时候,set ORACLE_SID='',
1、检查sqlnet.ora(WINDOWS下位于%ORACLE_HOME%NETWORKADMIN目录)是否包含这句:SQLNET.AUTHENTICATION_SERVICES=(NTS),没有的话加上
2、检查登陆windows的用户(administrator或安装oracle时候使用的用户)是不是在包含在ORA_DBA组中,域用户没有连上域服务器时就可能出现这种现象。
3. 要保证 remote_login_passwordfile 参数 = EXCLUSIVE .
4. 看看是否需要使用orapassw生成口令文件 .
一种解决方法案例:
1、检查系统参数:SQL show parameter password
NAME TYPE VALUE------------------------------------ ----------- ------------------------------
remote_login_passwordfile string EXCLUSIVE
2、
select * from v$pwfile_users;
SQL
为空
3、SQL grant sysdba to sys;
grant sysdba to sys
*
ERROR at line 1:
ORA-01994: GRANT failed: password file missing or disabled
4、建立password文件
D:/orapwd file="D:/oracle/product/10g/db_1/database/PWDoratest.ora" password=gp
oswong entries=10
5、
SQL select * from v$pwfile_users;
USERNAME SYSDB SYSOP------------------------------ ----- -----
SYS TRUE TRUE
SYS正常显示出来。
6、重新在远程以SYSDBA登录,可正常使用。
如果口令文件创建的有问题,也是会报如下的错误:
ora-01031:insufficient privileges
口令文件的命名格式应为orapwsid,并且sid是区分大小写的。由于Target Database连接Auxiliary Database时需要验证口令,如果违反了以上规则,将会提示ORA-01031: insufficient privileges。
我在用linux创建duplicate数据库的时候 就是因为口令文件创建的路径和名称不对才遇到这个错误
-----end-------

