三十二. 多表查询 MySQL管理工具 、 用户授权及撤销

1.MySQL管理工具 部署LAMP+phpMyAdmin平台
安装httpd、mysql、php-mysql及相关包
启动httpd服务程序
解压phpMyAdmin包,部署到网站目录
配置config.inc.php,指定MySQL主机地址
创建授权用户
浏览器访问、登录使用
 
mysql50:192.168.4.50
 
1.1 准备软件的运行环境 lamp
]# yum -y install httpd php php-mysql
]# systemctl restart httpd
]# systemctl enable httpd
]# vim /var/www/html/test.php
<?php
$x=mysql_connect("localhost","root","123456");
if($x){   echo "ok";    }else{    echo "no";    };
?>
ok
 
1.2 安装phpMyAdmin
]# tar-zxf phpMyAdmin-2.11.11-all-languages.tar.gz -C /var/www/html/
]# mv phpMyAdmin-2.11.11-all-languages  phpMyAdmin //改变目录名
]# chown -R apache:apache phpMyAdmin/
 
1.3 修改软件的配置文件定义管理的数据库服务器
]# cd phpMyAdmin
phpMyAdmin]# cp config.sample.inc.php config.inc.php  
//备份主配置文件
phpMyAdmin]# vim config.inc.php //编辑主配置文件
17 $cfg['blowfish_secret'] = 'plj123';     //给cookie做认证的值,可以随便填写
31 $cfg['Servers'][$i]['host'] ='localhost';  //指定主机名,定义连接哪台服务器
:wq                   
浏览器输入: http://192.168.4.50/phpMyAdmin/
用户名是root,密码是123456 可视化操作数据库
 
2.密码恢复及设置
恢复MySQL管理列表
正常设置管理密码
 
2.1 恢复密码
]# systemctl stop mysqld.service
]# systemctl status mysqld.service 
]# vim /etc/my.cnf
[mysqld]
skip_grant_tables=1
...
]# systemctl restart mysqld.service
]# service mysql status
]# mysql -u root
Enter password:  //直接回车即可
mysql> UPDATE mysql.user SET authentication_string=PASSWORD('1234567')
    -> WHERE user='root' AND host='localhost';    //重设root的密码
mysql> FLUSH PRIVILEGES;   //刷新授权表
]# vim /etc/my.cnf
[mysqld]
#skip_grant_tables=1
]# systemctl restart mysqld.service
重新登陆即可
 
2.2 正常设置MySQL管理密码
方法1,在Shell命令行下设置
使用mysqladmin管理工具,需要验证旧的密码。比如,以下操作将会把root的密码设置为 1234567:
]# mysqladmin -u root -p password '1234567'                    
Enter password:    //验证原来的密码
 
方法2
mysql> SET PASSWORD FOR root@localhost=PASSWORD('1234567');
 
方法3
mysql> GRANT all ON *.* TO root@localhost IDENTIFIED BY '1234567';
 
方法4
mysql> UPDATE mysql.user SET authentication_string=PASSWORD('1234567')
    -> WHERE user='root' AND host='localhost';  //重设root的密码
 
3.用户授权及撤销
3.1 192.168.4.50授权
mysql> GRANT all ON *.* TO root@'192.168.4.%' IDENTIFIED BY '123456';
192.168.4.51登陆:
]# mysql -h 192.168.4.50 -uroot -p123456
 
3.2 授权时,赋予授权权限
mysql> GRANT all ON *.* TO zs@localhost(仅本地可登)
    -> IDENTIFIED BY '1234567'
    -> WITH GRANT OPTION;
查看授权:
mysql> SHOW GRANTS FOR zs@localhost;
 
3.3 撤销root用户的授权
mysql> REVOKE all ON *.* FROM root@localhost;
解决办法:从其他超级权限用户登陆
mysql> GRANT all ON *.* TO root@localhost IDENTIFIED BY '123456';
 
3.4 允许webuser从任意客户机登录,只对webdb库有完全权限,密码为 888888
mysql> GRANT all ON webdb.* TO webuser@'%' IDENTIFIED BY '888888';
撤销webuser的完全权限,改为查询权限
mysql> REVOKE all ON webdb.* FROM webuser@'%';
只赋予查询权限:
mysql> GRANT select ON webdb.* TO webuser@'%';
确认授权更改结果
mysql> SHOW GRANTS FOR webuser@'%';
+--------------------------------------------+
| Grants for webuser@%                       |
+--------------------------------------------+
| GRANT USAGE ON *.* TO 'webuser'@'%'        |
| GRANT SELECT ON `webdb`.* TO 'webuser'@'%' |
+--------------------------------------------+

猜你喜欢

转载自www.cnblogs.com/luwei0915/p/10491080.html