mysql查询较长的执行进程及创建权限账号

A:对于死锁,进程的操作

1.查找当前活跃事务

SELECT * from information_schema.INNODB_TRX

根据trx_started等判断事务是否异常锁定

2.杀死线程

Kill id(上面查询出来的trx_mysql_thread_id)

B:创建读写账号

grant select,update,delete,insert on dbName.tableName to 'user'@'%' identified by 'password';

 [select,update,delete,insert]相关权限

[dbName]数据库名

[tableName]表名,如果是所有表,就用*代替[dbName.*]

[user]登陆账户

[%]指定登陆地址,如:localhost,192.168.0.*,不限定用%代替

[password]登陆密码

grant select on dbName.tableName to 'user'@'192.168.0.*' identified by 'password';

允许从192.168.0.*网段ip登陆的user用户对数据库dbName中的tableName 表拥有查询权限

B-1:基于用户创建的细则

1,授权用户

GRANT privileges ON  databasename.tablename  TO  ‘username’@‘host’

privileges:表示要授予什么权力,例如可以有 select , insert ,delete,update等,如果要授予全部权力,则填 ALL

databasename.tablename:表示用户的权限能用在哪个库的哪个表中,如果想要用户的权限很作用于所有的数据库所有的表,则填 *.*,*是一个通配符,表示全部。

例:

GRANT  select,insert  ON  zje.zje  TO ‘aaa’@‘%’;         //表示给用户aaa授权,让aaa能给zje库中的zje表 实行 insert 和 select。

GRANT  ALL  ON  *.*  TO  ‘aaa’@‘%’;//表示给用户aaa授权,让aaa能给所有库所有表实行所有的权力。

以上命令授权的用户不能给其他用户授权,如果想这个用户能够给其他用户授权,就要在后面加上   WITH GRANT OPTION

如: GRANT  ALL  ON   *.*   TO  ’aaa‘@'%'  WITH GRANT OPTION;

’username‘@‘host’:表示授权给哪个用户。

2,删除用户

命令:DROP  USER ‘user_name’@‘host’ 

例:

DROP USER 'aaa'@‘%’;//表示删除用户aaa;

3,设置与更改用户密码

SET  PASSWORD  FOR  ‘username’@‘host’ = PASSWORD(‘newpassword’); 

如果是设置当前用户的密码:

SET  PASSWORD = PASSWORD('newpassword');

如: SET  PASSWORD = PASSWORD(‘123456’)

如需要可以参考这篇同仁的博客:https://www.cnblogs.com/tianrunzhi/p/8316141.html

修改数据库用户密码:

1,使用sql命令修改

use mysql;
UPDATE user SET authentication_string=PASSWORD('1223333') WHERE user='ttx_admin';
FLUSH PRIVILEGES;

2,使用linunx mysql服务命令修改[先用需要修改的账户登录进去,在执行修改]

mysqladmin -udddd -p12333 password45666

 

posted @ 2018-12-19 16:43  darling331  阅读(176)  评论(0编辑  收藏  举报