标签 mysql 下的文章

如何将ucenter中的用户批量导入到discuz!中

经常在完成一次DZ与UC的对接之后,会出现这样的问题,如果不解决,就会出现所有老用户需要重新激活,而且需要验证邮箱的问题,下面给出方案解决。

将下面代码复制到一个php中,并在浏览器输入地址执行

 

<?php $dbserver ='localhost'; //此处改成数据库服务器地址 $dbuser ='root';//此处写数据库用户名 $dbpwd ='1234';//数据库密码 $dbname ='disucz';//数据库名称 $charset ='gbk';//此处写字符集gbk或者utf8 $uc_pre ='pre_ucenter_';//UC表前缀 $dx_pre ='pre_';//Discuz! X2表前缀 //此行开始向下不要改动 set_time_limit(0); //0为无限制 $connect=mysql_connect($dbserver,$dbuser,$dbpwd) or die("无法连接数据库"); @mysql_select_db($dbname,$connect); mysql_query("set names $charset"); $query = mysql_query("SELECT * FROM `{$uc_pre}members` WHERE `uid` not in(select `uid` from `{$dx_pre}common_member`) ",$connect); while($user = mysql_fetch_array($query)) { $password=$user[password]; mysql_query(" replace INTO `{$dx_pre}common_member` (uid,username,password,adminid,groupid,regdate,email) VALUES ('$user[uid]', '$user[username]', '$password','0','10','$user[regdate]','$user[email]') "); mysql_query(" replace INTO `{$dx_pre}common_member_field_forum` (uid) VALUES ('$user[uid]')"); mysql_query(" replace INTO `{$dx_pre}common_member_field_home` (uid) VALUES ('$user[uid]')"); mysql_query(" replace INTO `{$dx_pre}common_member_count` (uid) VALUES ('$user[uid]')"); mysql_query(" replace INTO `{$dx_pre}common_member_profile` (uid) VALUES ('$user[uid]')"); mysql_query(" replace INTO `{$dx_pre}common_member_status` (uid) VALUES ('$user[uid]')"); } echo "已从UC批量导入激活成功"; ?>

 

注释:连接到数据库后,PHP会比对UC和DZ用户表的数据,发现不存在于DZ但是存在于UC的用户,就会把用户导入到DZ,但是这一注册不会设置其他内容,比如用户填写的详细信息,由于以前是存储在DZ数据库中,所以还是丢失了

这样子用户已经全部导入,用户数也恢复了正常

 

下一步,将用户的邮箱验证全部设置为已验证

 

数据库执行:

update pre_common_menber ste  emailstatus=“1”;

注释:这是更新数据库中emailstatus字段,1为验证  pre记得改为你的论坛的前缀

一台VPS新装LNMP并关闭各种日志的记录

LNMP 关闭mysql自启动 centos:   chkconfig mysql off
debian/ubuntu: update-rc.d -f mysql remove      


请问独立服务器php,mysql ,nginx 配置文件什么参数可以调大

修改/usr/local/php/etc/php-fpm.conf php 5.2调整:max_children的值
php 5.3以上版本调整:pm.min_spare_servers和pm.max_spare_servers的值适当增加
最大值可以按内存xxMB/2/20 的整数来算,最小值可以按内存/2/40 的整数来算,可以少点或多大,可以自己调整运行看看。


如果mysql安装时开启了innodb的话,内存在4G以上可以用/usr/local/mysql/share/mysql/ (mysql5.5在5.5在/usr/local/mysql/support-files/)下面的my-innodb-heavy-4G.cnf 替换/etc/my.cnf 
1-2G的话,没开启innodb的话可以用my-huge.cnf,如开启了innodb需要修改配置文件启用。


nginx可以调整 /usr/local/nginx/conf/nginx.conf 的worker_processes
Nginx作者说的:
一般一个进程足够了,你可以把连接数设得很大。如果有SSL、gzip这些比较消耗CPU的工作,而且是多核CPU的话,可以设为和CPU的数量一样。或者要处理很多很多的小文件,而且文件总大小比内存大很多的时候,也可以把进程数增加,以充分利用IO带宽(主要似乎是IO操作有block)。

现在大部分版本上也可以设置为:worker_processes auto; 自动调整


所有调整均需要重启对应的程序使其生效。
建议改配置前备份一下配置文件,以便出错时恢复或查找错误。 mysql 5.5以上已经没这个目录了,在 lnmp1.0-full/mysql-5.5.28/support-files/  下面