我想建立一个生产WordPress的博客的本地副本。 在生产,我是一个用户,但不是管理员,所以我想我自己在本地更改为管理员。 我是在方向以下这个博客帖子让自己的管理员,所以我进行了以下SQL查询:
INSERT INTO usermeta(user_id,meta_key,meta_value) VALUES(376, 'wp_capabilities', 'a:1:{s:13:"administrator";b:1;}');
INSERT INTO usermeta(user_id,meta_key,meta_value) VALUES(376, 'wp_user_level', 10);
然后我清理我的浏览器Cookie,然后再次登录,但是当我试图转到http://localhost/wp-admin
“您没有足够的权限来访问此页面”我仍然有 我甚至只要删除我的APC缓存文件并重新加载的Nginx和PHP-FPM,这也没有改变任何东西去了。 有谁知道别的试试?
要设置capabilities
和user_level
您meta_key
值必须与你的数据库前缀。 默认情况下,这是wp_
(导致wp_capabilities
和wp_user_level
),但它会在你的情况不同,因为你没有前缀。 适当的capabilities
值是a:1:{s:13:"administrator";s:1:"1";}
-- delete any existing values for this user
DELETE FROM usermeta WHERE user_id=376 AND (meta_key LIKE '%capabilities' OR meta_key LIKE '%user_level')
-- insert the capabilities and user_level for user_id 376
INSERT INTO usermeta(user_id,meta_key,meta_value) VALUES(376, 'capabilities', 'a:1:{s:13:"administrator";s:1:"1";}');
INSERT INTO usermeta(user_id,meta_key,meta_value) VALUES(376, 'user_level', 10);
下面是如何改变分配用户在使用WordPress的MySQL语句的管理员角色:
-- Look at the field called "id" in the result set
---
select * from wp_users
where user_login = 'WORDPRESS_USERNAME_GOES_HERE';
-- Substitute the above "id" value in the "user_id" field below.
-- This is an integer value so do not use quotes around it
-- For example if the above "id" is the value 10 then the resulting line would be: where user_id = 10
--
update wp_usermeta
set meta_value = 'a:1:{s:13:"administrator";s:1:"1";}'
where user_id = USER_ID_GOES_HERE
and meta_key = 'wp_capabilities';
-- Lastly execute this statement remembering to substitute the same "id" value
update wp_usermeta
set meta_value = '10'
where user_id = USER_ID_GOES_HERE
and meta_key = 'wp_user_level';
如果你已经拥有你的用户名和密码,然后你只需要更新的能力和作用到数据库中。
转到wp_user表,找到您的ID从那里我的情况,即它2.然后去wp_usermeta,寻找meta_key = wp_capabilities和USER_ID - 2.编辑该行并更改meta_value到
a:1:{s:13:"administrator";s:1:"1";}.
再次去meta_key = wp_user_level和USER_ID = 2.编辑该行并更改meta_value至10不要更改其他行,其中user_id是不是你自己的。
见我wp_users表。
见我wp_usermeta表。
两个查询将被解雇的类似:
UPDATE `wp_usermeta` SET `meta_value` = '10' WHERE `wp_usermeta`.`umeta_id` =27;
UPDATE `wp_usermeta` SET `meta_value` = 'a:1:{s:13:"administrator";s:1:"1";}' WHERE `wp_usermeta`.`umeta_id` =26;