zoukankan      html  css  js  c++  java
  • MySQL的安装、使用及权限管理

    一、数据库安装及管理

    1. 安装

    需安装mysql客户端和服务器端。Centos下,可用命令:yum install mysql安装mysql客户端;使用命令:yum install mysql-server安装mysql服务器端。

    2. 启动

    • 命令:rpm -q mysql 可用于查询机器上是否安装了mysql客户端
    • 命令:/etc/rc.d/init.d/mysqld start或service mysqld start 可用于启动mysqll 
    • 命令:ls  /etc/rc.d/init.d/mysqld  -l 可用于查询mysql服务的权限是否有问题。Mysql无法正常启动,可先检查是mysql服务的权限设置有问题。
    • 命令:chkconfig mysqld on 可设置mysql开机启动l 
    • 命令:service mysqld status 可查看mysql服务是否已经启动
    • 命令:/etc/rc.d/init.d/mysqld stop或service mysqld stop 可用于关闭mysql

    3. Mysql访问权限设置

    刚安装好的MySql包含一个含空密码的root帐户和一个匿名帐户,这是很大的安全隐患,对于一些重要的应用我们应将安全性尽可能提高,在这里应把匿名帐户删除、 root帐户设置密码,可用如下命令进行:

     

    use mysql;
    delete from User where User="";
    update User set Password=PASSWORD('newpassword') where User='root';
    

     

    修改mysql用户密码格式:mysqladmin -u用户名 -p旧密码 password 新密码。例:mysqladmin -uroot password ab12  注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。

    将root的密码由ab12改为djg345  mysqladmin -uroot -pab12 password djg345

    如果要对用户所用的登录终端进行限制,可以更新User表中相应用户的Host字段。

    4. 数据库的授权
    在进行开发和实际应用中,用户不应该只用root用户进行连接数据库,虽然使用root用户进行测试时很方便,但会给系统带来重大安全隐患,也不利于管理技术的提高。我们给一个应用中使用的用户赋予最恰当的数据库权限。如一个只进行数据插入的用户不应赋予其删除数据的权限。MySql的用户管理是通过 User表来实现的,添加新用户常用的方法有两个,一是在User表插入相应的数据行,同时设置相应的权限;二是通过GRANT命令创建具有某种权限的用户。其中GRANT的常用用法如下:

    grant all on 数据库名.* to 用户名@主机 identified by "password" ;
    grant usage on *.* to 用户名@主机 identified by "password";
    grant select,insert,update on mydb.* to 用户名@主机 identified by "password";
    grant update,delete on mydb.TestTable to 用户名@主机 identified by "password";
    

     

    若要给此用户赋予他在相应对象上的权限的管理能力,可在GRANT后面添加WITH GRANT OPTION选项。而对于用插入User表添加的用户,Password字段应用PASSWORD 函数进行更新加密,以防不轨之人窃看密码。对于那些已经不用的用户应给予清除,权限过界的用户应及时回收权限,回收权限可以通过更新User表相应字段,也可以使用REVOKE操作。

    下面给出本人从其它资料(www.cn-java.com)获得的对常用权限的解释:
    全局管理权限:
    FILE: 在MySQL服务器上读写文件。
    PROCESS: 显示或杀死属于其它用户的服务线程。
    RELOAD: 重载访问控制表,刷新日志等。
    SHUTDOWN: 关闭MySQL服务。
    数据库/数据表/数据列权限:
    Alter: 修改已存在的数据表(例如增加/删除列)和索引。
    Create: 建立新的数据库或数据表。
    Delete: 删除表的记录。
    Drop: 删除数据表或数据库。
    INDEX: 建立或删除索引。
    Insert: 增加表的记录。
    Select: 显示/搜索表的记录。
    Update: 修改表中已存在的记录。
    特别的权限:
    ALL: 允许做任何事(和root一样)。
    USAGE: 只允许登录--其它什么也不允许做。

     
  • 相关阅读:
    聊聊WS-Federation
    用双十一的故事串起碎片的网络协议(上)
    责任链模式的使用-Netty ChannelPipeline和Mina IoFilterChain分析
    最小化局部边际的合并聚类算法(中篇)
    最小化局部边际的合并聚类算法(上篇)
    UVaLive 7371 Triangle (水题,判矩形)
    UVaLive 7372 Excellence (水题,贪心)
    POJ 3312 Mahershalalhashbaz, Nebuchadnezzar, and Billy Bob Benjamin Go to the Regionals (水题,贪心)
    UVa 1252 Twenty Questions (状压DP+记忆化搜索)
    UVa 10817 Headmaster's Headache (状压DP+记忆化搜索)
  • 原文地址:https://www.cnblogs.com/sunada2005/p/2647435.html
Copyright © 2011-2022 走看看