内容摘要:
本篇主要是对项目运行过程中会产生的一些数据维护,更新,参数设置等常用操作的记录和总结,方面在运用是有个参考。主要内容会涉及可参考目录简介。本编包含第5章节。
目录简介:
1. 数据库启停及状态检查
2. CREATE 操作项目
3. ALTER 操作项目
4. 数据库参数查看和设置
5. 客户端权限管理
6. 事件调度/临时触发器/定制任务
7. 触发器、存储过程
标签:
MySql,Create,Alter,Show Parameter,Event,Trigger,Procedure,Privilige
5. 客户端权限
MySQL数据库管理系统的安装可以选择linux和window环境,对应的操作系统和系统位数都有相应的版本,具体的安装过程可以后继篇幅单独介绍的数据库安装。这里的介绍是基于数据安装完成后的操作。
1. 数据安装完成后初始化密码,默认已经存在root用户,会在mysql数据库中的user表中存在4条记录,分别对应root的localhost,hostname,127.0.0.1,::1四个主机的权限记录。如下所示。注:初始密码字段都是为空,需要设置root密码,才可以通过mysql –uroot –p方式登录。
首次设置密码的方式有如下2类3中方式。不管那里一类方式在window或linux下都要有操作系统管理员用户权限,window下是administrator,linux下是root下,在命令行使用mysql的系统工具
第一类,通过mysqladmin工具
mysqladmin –u root password ‘password’
注:第一个password是关键字,引号中的password是要设置的mysql的root密码
第二类,通过mysql工具,由于初始root账户无密码,直接mysql可进入
1.#mysql
第一个方法,SET PASSWORD,在mysql提示符下
msyql>SET PASSWORD=password(‘password’);
注:等于号后面第一个password是密码函数,引号中的password是要设置的密码。
第二个方法,直接修改mysql.user表
msyql>update mysql.user set Password = password(‘password’);
注:用udapte修改user表的Password字段为password函数操作过的密码值即可。
2. 修改root密码,该步骤是在设置过root密码后想要修改root密码的方法
也可以通过如上的2类3中方法进行,这里介绍一下两类工具使用的差别
2.1 mysqladmin工具,如下所示,需要加上老密码,引号中的是需要修改的新密码
mysqladmin –u root password oldpwd‘password’
2.2 mysql工具 需要通过密码来登录
mysql –uroot –p oldpwd 才能进入到mysql提示符,然后通过SET PASSWORD和Update mysql.user方法进行密码修改
3. 新增用户,在mysql命令提示符下操作
mysql>CREATE USER 'username'@'host' IDENTIFIED BY 'password';
注:username是用户名;host代表用户可登录的主机地址或域名,可以用%通配,如需要远程任意主机登录的场景;password是要设定的密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器.
另:mysql用户是基于用户名和主机地址,也就是username@host代表的是一个用户标识,username@host和username@host1可以认为是两个不同的两个用户。这样就可以对同一个用户名针对不同的登陆地址设置不同的密码和不同的权限。
4. 用户权限授权,在mysql命令提示符下操作
mysql>GRANT privileges ON dbname.tblname TO 'username'@'host'
注:privileges - 用户的操作权限,如SELECT , INSERT , UPDATE 等(详细列表见该文最后面).如果要授予所的权限则使用ALL.; dbname - 数据库名, tblname -表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示, 如*.*。如上的名所授权的用户不能够具有授权权限。若需要对用户增加授权权限,则通过如下
mysql>GRANT privileges ON dbname.tblname TO 'username'@'host' WITH GRANT OPTION;
5. 撤销用户权限授权,在mysql命令提示符下操作
mysql>REVOKE privilege ON dbname.tblname FROM 'username'@'host';
注:privilege, databasename, tablename - 同授权部分. 例如你在给用户'user'@'%'授权的时候是这样的(或类似的):GRANT SELECT ON test.user TO 'user'@'%', 则在使用REVOKE SELECT ON *.* FROM 'user'@'%';命令并不能撤销该用户对test数据库中user表的SELECT 操作.相反,如果授权使用的是GRANT SELECT ON *.* TO 'user'@'%';则REVOKE SELECT ON test.user FROM 'user'@'%';命令也不能撤销该用户对test数据库中user表的Select 权限.
具体信息可以用命令SHOW GRANTS FOR 'pig'@'%'; 查看.还记得上一节中的查看参数。
6. 删除用户,在mysql命令提示符下操作
mysql> DROP USER 'username'@'host';
7. Root密码丢失修改,在管理员系统命令提示符下操作,linux举例
1.#service mysql stop
2.# mysqld --skip-grant-tables& (--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证)
或者#mysqld_safe --skip-grant-tables&
3.#mysql
3.1mysql>(在mysql提示符下可以参考以上修改root密码部分修改即可)
3.2mysql>exit(修改完密码后退出mysql)
4.#mysqld stop
5.启动mysql(参考第一篇内容)
补充内容:
Mql登录命令行
如果刚安装好MYSQL,超级用户root是没有密码的,故直接mysql –uroot -p回车即可进入到MYSQL中了,MYSQL的提示符是: mysql>
若要登录到远程机器的MYSQL。假设远程主机的IP为:121.10.14.207,用户名为root,密码为rootpwd。则键入以下命令:
mysql -h121.10.14.207 -u root -p rootpwd;(注意参数和值之间的可以不用空格,各个参数间用空格分隔,另外需要远程MYSQL服务器设置root账户可以远程登录,这个在第5章节介绍)
参考资料:
附表mysql操作权限表