C# 多线程For循环

使用Parallel.For方法替代基础的for循环,基础代码如下

Parallel.For(0, recordDT.Rows.Count, new ParallelOptions(), (x) => {
    recordDT.Rows[x]
    ......code
}

如果在循环内需要使用到List等原生集合序列元素,请替代为:ConcurrentStack,否则List会缺失项目。

ConcurrentStack<string> strList = new ConcurrentStack<string>();

mysql 忘记密码 重置密码

如果MYSQL不是正常通过apt install mysql 安装的,或者是xammp之类集成的数据库,这时候mysql密码忘记了,可以按照如下操作:

1、查看并修改/etc/my.cnf文件,将mysql.sock指向正确的mysql路径。(标红处)

[client]
port=3306
socket=/opt/lampp/var/mysql/mysql.sock
#socket=/var/lib/mysql/mysql.sock
default-character-set=latin1

[mysqld]
#datadir=/var/lib/mysql
#socket=/var/lib/mysql/mysql.sock
datadir=/opt/lampp/var/mysql
socket=/opt/lampp/var/mysql/mysql.sock
user=mysql
set-variable = max_connections=10000
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

default-storage-engine=InnoDB
character-set-server=latin1

skip-grant-tables

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

2、重启环境通过如下命令登录mysql,提示输入密码时直接回车。

mysqld_safe --skip-grant-tables & mysql -p

3、创建用户或更改密码,注意先刷新权限,直接更新密码会报错

flush privileges;
grant all privileges on *.*  to  'root'@'%'  identified by '123456'  with grant option;

ubuntu nginx 设置php支持

安装php,不是特别在意版本的话,直接按照下面安装即可。默认应该是php7.0版本。或者按照【这里】安装

apt-get install php
apt-get install php-fpm php-mysql php-curl php-json php-cgi php-xml

nginx在网站设置文件里,增加如下代码。目前一般php安装完后不再使用9000端口而是sock模式,所以按照如下配置即可。

    location ~ .php$ {
        fastcgi_intercept_errors on;
        fastcgi_pass   unix:/run/php/php7.0-fpm.sock;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

重启nginx即可

service nginx restart

crontab 不执行 -e -l 提示找不到文件或路径

首先查看一下服务的状态

/sbin/service crond status

如果可以找到
(root) Unauthorized SELinux context=unconfined_u:un……
FAILED (loading cron table)
这样的提示,则执行如下代码

chcon -R -u system_u -r object_r -t system_cron_spool_t /etc/crontab

然后重启crond服务

systemctl restart crond

如果可以顺利执行crontab -e 或-l,查看服务状态不再有failed 则已解决问题