Liu Junqiao:工作中用到的命令以及问题汇总

工作中用到的命令以及问题汇总

2019-11-29

  • 查看系统运行时间,这个问题是因为我们在阿里云上有个机器,在某一天发现这台机器上有的服务莫名奇妙的停了,然后排查时怀疑机器被重启过用如下如下命令查看了系统运行时间,发现果不其然机器就是被重启过:
1 cat /proc/uptime| awk -F. '{run_days=$1 / 86400;run_hour=($1 % 86400)/3600;run_minute=($1 % 3600)/60;run_second=$1 % 60;printf("系统已运行:%d天%d时%d分%d秒",run_days,run_hour,run_minute,run_second)}'

 

  • 查看开机自启的服务,这个问题时 我们的一台机器需要降配,上面有十几个程序和服务,需要确保服务可以在降配后开启自启,然后要查看这个服务是否设置了开机自启:
1 systemctl list-unit-files

 

  •  mysql创建用户后用户无法远程链接登录,这个问题是开发的一位同学需要一个线下数据库的只读权限的用户,然后正常开了账户后发现他账户无法远程链接,会报错,如下
1 mysql -u bowen -p 123456 -h x.x.x.x
2 Enter password: 
3 ERROR 1045 (28000): Access denied for user 'bowen'@'x.x.x.x' (using password: YES) 

        解决办法就是在创建用户时,指定开发人员的IP地址如下:

1 CREATE USER  '用户'@'IP'  IDENTIFIED BY  'password';#创建用户
2 GRANT select ON  #库名字.#表名  TO  ‘username’@‘host’ #给用户授权select

 

  •  遇到服务器死机
首先要确认所受影响的服务都有那些,确定受灾范围,物理机死机是必然要重启的,要找到是因为什么原因造成的,我遇到的有80%是因为用java跑到的程序造成的,然后发通知,得到批准后重启,启动后查看系统日志,确定服务都正常启动,就可以了.
  • init-connect 参数导致创建用户后无法登录
首先init-connect参数是用来干什么的?其实他是用来追踪到每个操作语句的操作时间,操作人等。实现审计。在配置文件中配置init-connect参数。登录时插入日志表。如果这个参数是个错误的SQL语句,登录就会失败。
所以创建普通用户,不能有super权限。init-connect对具有super权限的用户不起作用。同时此用户必须要有INSERT权限,如果没有,登录后的任何操作都会导致MYSQL登录失败。

grant insert,select,update on *.* to 'user1'@'localhost'; #带INSERT权限

grant select,update on *.* to 'user2'@'localhost'; #不带INSERT权限

  

 

 

 

 

你可能感兴趣的:(Liu Junqiao:工作中用到的命令以及问题汇总)