daily_nohup.sh

#!/bin/bash
echo -e "\n\033[0;34m ----- 最近10行记录情况 ----- \033[0m\n"
cat nohup.out | tail -n 10
cat nohup.out >> bak_nohup_`date +%Y-%m-%d_%H%i%s`.out
echo "----- "`date +%Y-%m-%d`" -----\n" > nohup.out
echo -e "\n\033[0;32m ----- 剩余记录 ----- \033[0m\n"
cat nohup.out | tail -n 10

编写 xxx.sh
[root@localhost ~]# vim xxx.sh
#!/bin/bash
php bin/hyperf.php start

# 后台执行脚本
[root@localhost ~]# nohup ./sh_hyperf1.sh &

# 查看输出信息
[root@localhost ~]# cat nohup.out

# 查看后台运行的bash脚本
[root@localhost ~]# ps aux | grep bash

# 查看命令的最后100行输出
[root@localhost hyperf]# cat nohup.out | tail -n 100

# 查看占用9501端口的进程
[root@localhost hyperf]# lsof -i :9501
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
php     10337 root    7u  IPv4  66249      0t0  TCP *:9501 (LISTEN)
php     10337 root   30u  IPv4  67042      0t0  TCP localhost.localdomain:9501->192.168.56.1:cp-spxdpy (ESTABLISHED)

# 按天备份


1. &

功能:加在一个命令的最后,可以把这个命令放在后台执行

2. nohup

如果让程序始终在后台执行,即使关闭当前的终端也执行(之前的&做不到),这时候需要nohup。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。关闭中断后,在另一个终端jobs已经无法看到后台跑得程序了,此时利用ps(进程查看命令)

添加用户

1. 允许本地访问的用户(127.0.0.1)
create user test1@localhost identified by '123456';  
2. 允许外网IP访问的用户
create user 'test1'@'%' identified by '123456'; 

用户分配权限

授予用户在本地服务器对该数据库的全部权限
grant all privileges on dbname.* to test1@localhost;
授予用户通过外网IP对于该数据库的全部权限
grant all privileges on dbname.* to 'test1'@'%';  
刷新权限
flush privileges; 

查询用户的权限

mysql> show grants for test1;
+---------------------------------------------------+
| Grants for test1@%                                |
+---------------------------------------------------+
| GRANT USAGE ON *.* TO `test1`@`%`                 |
| GRANT ALL PRIVILEGES ON `MyDB`.* TO `test1`@`%`   |
| GRANT ALL PRIVILEGES ON `common`.* TO `test1`@`%` |
| GRANT ALL PRIVILEGES ON `course`.* TO `test1`@`%` |
| GRANT ALL PRIVILEGES ON `dbname`.* TO `test1`@`%` |
+---------------------------------------------------+
5 rows in set (0.00 sec)

给用户全部权限

mysql> grant all privileges on *.* to 'test1'@'%' ;
Query OK, 0 rows affected (0.04 sec)

撤销用户的全部授权

mysql> revoke all privileges on *.* from 'test1'@'%' ;
Query OK, 0 rows affected (0.09 sec)
(上述权限移除, 如果登录的用户没有重新的登录, 原有的权限不会丢失, 刷新权限也没有用, 这个权限必须重新登录才见到效果)

仅仅给用户某个数据库的查询权限

mysql> grant select on common.* to 'test1'@'%';
Query OK, 0 rows affected (0.04 sec)
mysql> show grants for test1;

+-------------------------------------------+
| Grants for test1@%                        |
+-------------------------------------------+
| GRANT USAGE ON *.* TO `test1`@`%`         |
| GRANT SELECT ON `common`.* TO `test1`@`%` |
+-------------------------------------------+
2 rows in set (0.00 sec)

PDOException: SQLSTATE[HY000] [2002] No such file or directory
找到相应的.sock文件,并设置php.ini文件中的pdo_mysql.default_socket的值为.sock文件的路径。
[root@localhost src]# cat /etc/my.cnf
找到配置 socket      = /tmp/mysql.sock


[root@localhost ~]# whereis php
php: /usr/bin/php /usr/lib64/php /etc/php.ini /etc/php.d /usr/local/php /usr/share/php /usr/share/man/man1/php.1.gz
[root@localhost ~]# vim /etc/php.ini
>/pdo_mysql.default_socket # 搜索这段参数的位置

pdo_mysql.default_socket= /tmp/mysql.sock #注意有的配置为 /tmp/mysqld.sock 根据前面查到的配置来
[root@localhost ~]# service php-fpm restart