重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
方法/步骤
成都创新互联是一家专注于成都网站制作、网站建设与策划设计,连江网站建设哪家好?成都创新互联做网站,专注于网站建设十载,网设计领域的专业建站公司;建站业务涵盖:连江等地区。连江做网站价格咨询:18980820575
众所周知,mysql里面有很多权限,不同权限可以使用不同功能,今天就教大家怎么获取Mysql的root权限,也就是最高权限,可以做任何事情。
1.首先使用一个没有权限的账号链接mysql,成功之后执行:show databases;这时会发现没有权限的用户只能看到一个数据库,mysql和test等数据库是看不到的;
2.如果已经安装了phpmyadmin,打开127.0.0.1/phpmyadmin,在菜单栏找到用户,然后找到没有权限的用户,点击编辑权限;
3.跳转到设置页面,找到全局权限,在全选checkbox打勾,点击右下角的执行,完成后该用户就获得了mysql数据库的所有权限;
4.再次用该账号再次链接mysql,链接成功后执行:show databases;你会发现所有数据库都会显示出来,而且使用该账号可以进行任意编辑;
6
5.也可以直接在cmd窗口命令行设置,设置权限的命令为:
REVOKE ALL PRIVILEGES ON *.* FROM 'root'@'localhost'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost'WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
PS:用户名部分根据自己的实际情况进行更改。
方法/步骤
1
在未配置MySQL之前,根据MySQL服务端的信息,用navicate客户端进行连接测试,如图一、图二所示
2
在MySQL所在机器上登录root用户,如图三所示
3
切换到mysql库,并查看user表,如图四所示
use mysql;
select host,user,password from user;
4
修改host列的用户,建议修改localhost用户,如图五所示
执行命令如下:
update user set host = '%' where host = 'localhost';
select host,user,password from user;
flush privileges;
5
再次用navicate客户端进行连接测试,如图六所示
END
FAQ
1
为什么只改一条呢?
因为%代表了任何ip地址均可以访问此mysql库,所以只有一条%记录即可,多条无意义,如需根据不同的ip、不同用户有不同的权限访问,可设置为多条。
2
为什么只是修改某条user记录,而不是insert一个用户呢?
因为新增的用户,相关权限是没有的,如果新纪录的各项都设置为Y,则权限过大,如果新纪录的各项都设置为N,则权限过小,远程登录之后,无法进行其他操作。
一、KILL掉系统里的MySQL进程
killall -TERM mysqld
二、用以下命令启动MySQL,以不检查权限的方式启动
safe_mysqld –skip-grant-tables
三、用空密码方式使用root用户登录 MySQL
mysql -u root
四、修改root用户的密码
mysql update mysql.user set password=PASSWORD(‘新密码’) where User=’root’;
mysql flush privileges;
mysql quit
看这个情况是多半是由于root@localhost root@'%' 两个账号的权限不同造成的 修改root@'%'的权限即可 或者新建一个外部账号
在数据库机上用root登陆:
给远程root账号以所有数据库的权限
grant all on *.* to root@'%' identified by 'password';
如果需要也可以加上 with grant option;
创建user账号密码password 可以从局域网内访问数据库的所有库
grant all on *.* to user@'192.168.1.%' identified by 'password';