正文
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