标签 "phpmyadmin" 下的文章

由于近期对博客数据的维护,但是博主飘云只需要导出wordpress的posts表内的部分字段,在百度搜索找遍了,都是用命令解决,但是本人对sql命令又不太懂,只好借助phpmyadmin工具来实现了!

操作方法:

一、首先访问phpmyadmin,找到要导出的数据库名称和表名称,如下图:
01

二、点击SQL,针对需要导出的字段名做数据查询,如下图:
例如:我们只需要导出部分字段,可以在SQL输入框内输入如下代码:

SELECT `ID`,`post_name`,`post_status`,`comment_status`,`post_type` FROM wp_posts

02点击执行!
075

导出查询结果后,把浏览器拉到底部,在:查询结果操作下面点击导出,这个时候导出的数据库文件sql,就只有包含上面查询到的数据!

最近管理的服务器,结果,打开phpmyadmin的时候就出现了这样的错误,在网上看了很多解答,看起来都对,但是我还是费了很大的劲才搞好,所以写下来已帮助记忆。

首先:在php的目录下建立个文件夹temp,这个有权限的问题,如果是ntfs的分区,就一定要添加evryone的控制权限,否则是没用的。

其次:在php.ini找到:

;session.save_path

这一行,修改成:

session.save_path = "C:/php/tmp"

把分号弄掉。这里要注意,php.ini里面有三处session.save_path ,如果只修改一个地方,还是不行的。

将php.ini中的session.auto_start的值改为1(启动),默认是0(禁用),

最后,是在phpmyadmin中找到:

config.sample.inc.php

修改成:config.inc.php

找到 $cfg['blowfish_secret'] 将后面的赋值,加入数字和字母组合。

全部修改完以后,重启iis或者apache,就可以看到熟悉的phpmyadmin的登陆界面了。

电影《社交网络》中,facebook创始人马克.扎克失恋后入侵哈佛大学宿舍楼服务器,窃取数据库资料,并在两个小时内完成了一个给校内女生评分的交互网站,该网站一天内点击数过10W,直接导致学校服务器崩溃。。。。。。
其实,构建那样一个网站并不需要很多高深的技术,任何一个有一定网络编程基础的人都可以做到。马克构建网站所用的是Apache服务器和PHP服务器脚本语言,我曾经用三天时间学习PHP,然后用了两个星期为学校写了一个网站,可见PHP是很简单的,而facebook后台也是用php写的,当然,大家现在看到的我的wordpress博客后台也是php~~。

话说回来,很多人可能已经用上ubuntu了,大家可能花了大量时间在ubuntu的美化上,这无可厚非,但是,ubuntu应该给我们的工作和学习带来更多的便利和方便。ubuntu作为linux,为我们提供了强大的网络方面的功能,其中的服务器技术尤其强大,安全。如果不学习linux的网络技术,很难说自己掌握了linux。

今天,我在ubuntu下配置了一个Apache服务器。通过Apache我们可以学习php网络编程,可以用它来部署自己本地的wordpress博客,从而进一步通过网络和朋友交流。从此,你将深刻体会到网络带个我们的神奇力量,至少我是这样觉得的~~

步骤一、安装apache2

sudo apt-get install apache2

安装完成。

运行如下命令重启下:

sudo /etc/init.d/apache2 restart

在浏览器里输入http://localhost或者是http://127.0.0.1,如果看到了It works!,那就说明Apache就成功的安装了,Apache的默认安装,会在/var下建立一个名为www的目录,这个就是Web目录了,所有要能过浏览器访问的Web文件都要放到这个目录里。

步骤二、安装php

sudo apt-get install libapache2-mod-php5 php5 php5-curl php5-dev php5-gd php5-gmp php5-imap php5-ldap php5-mcrypt

此外,建议安装扩展php5-gd php5-mysql,安装方式同上.

安装完后,我们要重新启动Apache,让它加载PHP模块:

sudo /etc/init.d/apache2 restart

接下来,我们就在Web目录下面新建一个test.php文件来测试PHP是否能正常的运行,命令:

sudo gedit /var/www/test.php

然后输入:

<?php
echo phpinfo();
?>

接着保存文件,在浏览器里输入http://127.0.0.1/test.php,如果在网页中显示hello,world!!,那就说明PHP已经正常运行了。

步骤三、安装mysql数据库:

sudo apt-get install mysql-server mysql-client

apt-get程序会自动下载安装最新的mysql版本。在安装的最后,它会要求里输入root的密码,注意,这里的root密码可不是Ubuntu的root密码啊,是你要给MySQL设定的root密码。

步骤四、安装phpmyadmin-Mysql数据库管理

sudo apt-get install phpmyadmin

phpmyadmin设置:

在安装过程中会要求选择Web server:apache2或lighttpd,使用空格键选定apache2,按tab键然后确定。然后会要求输入设置的Mysql数据库密码连接密码Password of the database’s administrative user。

然后将phpmyadmin与apache2建立连接,以我的为例:www目录在/var/www,phpmyadmin在/usr/share /phpmyadmin目录,所以就用命令:

sudo ln -s /usr/share/phpmyadmin /var/www

建立链接。

phpmyadmin测试:在浏览器地址栏中打开http://localhost/phpmyadmin。

以上ALMP的基本组件就安装完毕了,下面我们再来看一些其他的设置:

步骤五、设置Ubuntu文件执行读写权限

LAMP组建安装好之后,PHP网络服务器根目录默认设置是在:/var/www。由于Linux系统的安全性原则,改目录下的文件读写权限是只允许root用户操作的,所以我们不能在www文件夹中新建php文件,也不能修改和删除,必须要先修改/var/www目录的读写权限。在界面管理器中通过右键属性不能修改文件权限,得执行root终端命令:

sudo chmod 777 /var/www

然后就可以写入html或php文件了。777是linux中的最高权限,表示可读,可写,可执行。

sudo apt-get install apache2 libapache2-mod-php5 php5 php5-curl php5-dev php5-gd php5-gmp php5-imap php5-ldap php5-mcrypt mysql-server mysql-client phpmyadmin

今天在linux服务器上安装配置完vsftpd之后,ftp根目录指定到网站根目录/var/www/,权限给以777,之后再次访问http://piaoyun.cc/phpMyAdmin,无法打开phpMyAdmin出现这样的提示:
Wrong permissions on configuration file, should not be world writable!

查资料一看,原来phpMyAdmin要在755权限下才能正常访问(777权限不可以正常访问)。

解决办法:

登陆SSH,这里博主推荐Xshell来登陆!xshell的使用技巧收集[不断更新中]
#cd /var/www/
#chmod -R 755 phpMyAdmin

Linux目录权限:
Linux系统中的每个文件和目录都有访问许可权限,用他来确定谁能通过何种方式对文件和目录进行访问和操作。 文件或目录的访问权限分为只读,只写和可执行三种。
有三种不同类型的用户可对文件或目录进行访问:文件所有者,同组用户、其他用户。所有者一般是文件的创建者。所有者能允许同组用户有权访问文件,还能将文件的访问权限赋予系统中的其他用户。在这种情况下,系统中每一位用户都能访问该用户拥有的文件或目录。

读取-r 写入-w 执行-x
-rw------------- (600) — 只有所有者才有读取和写入的权限;
-rw--r------r--- (644) — 只有所有者才有读取和写入的权限;组群和其他人只有读取的权限;
-rwx------------ (700) — 只有所有者才有读取,写入,和执行的权限;
-rwx-rx----rx-- (755) — 所有者有读取,写入,和执行的权限;组群和其他人只有读取和执行的权限;
-rwx-x-----x--- (711) — 所有者有读取,写入,和执行权限,组群和其他人只有执行权限;
-rw--rw---rw-- (666) — 每个人都能够读取和写入文件;[请谨慎使用这些权限]
-rwx-rwx-rwx- (777) — 每个人都能够读取,写入,和执行.[这种权限设置可能会很危险]

终端下可以登录mysql,但是用phpmyadmin无法登录提示:#2002 无法登录 MySQL 服务器
20131102152214_01

解决方法如下:
修改config.inc.php文件,将config.inc.php 中

$cfg['Servers'][$i]['host'] = 'localhost';

改成:

$cfg['Servers'][$i]['host'] = '127.0.0.1';

如果修改过端口,记得也要修改端口号!

$cfg['Servers'][$i]['host'] = '127.0.0.1:3312';

还要添加:

$cfg['Servers'][$i]['hide_db'] = ‘information_schema’;//使用登陆后看不见information_schema数据库,隐藏数据库!

如果要隐藏多个可以用"|"来隔开其他数据库名,例如:

$cfg['Servers'][$i]['hide_db'] = '(information_schema|phpmyadmin|mysql)'

只是为了安全的目的隐藏起来。

如果想要隐藏全部以a开头的数据库,可以使用'^a'

于是把配置文件里的host改成127.0.0.1,再连接,好了,连接正常。
($cfg['Servers'][$i]['hide_db'] = ‘information_schema’;这一句加不加都无所谓,不影响连接数据库)

为什么在linux下localhost就是不能连接呢?查mysql官方文档[参看这里],看到有这样的句话:
如果未指定指定主机名或指定了特殊的主机名localhost,将使用Unix套接字。
Unix套接字默认为/tmp/mysql.sock,而本机并没有配置这样的套接字文件,所以自然是连接失败了。
官方文档确实非常重要,比网上的一般的解决方法都更权威有效得多。

PS:新版本的PhpMyAdmin 增强了安全性,需要在配置文件设置一个短语密码。否则进入之后会有“配置文件现在需要一个短语密码。”的红色警叹提示。

解决方法:编辑config.inc.php

$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['blowfish_secret'] = 'abcde';(其中的"abcde"自定义)

这个密码用于Cookies的加密,以免多个PhpMyAdmin或者和其他程序共用Cookies时搞混。

最近一次在用phpmyadmin导入mysql数据库时,偶的15M的数据库不能导入,mysql数据库最大只能导入2M..

phpmyadmin数据库导入出错:
You probably tried to upload too large file. Please refer to documentation for ways to workaround this limit.

可以修改导入数据库文件最大限制吗?
到网上搜索了一下前人的解决办法,大多数都说修改php.ini中的upload_max_filesize,但修改了这个以后,还是提示这个问题;但 phpmyadmin在提示这个问题的时候,右下角有一行英文提示,大致意思是说,解决这个问题,可以参考phpmyadmin文档;直接点击这个链 接,phpmyadmin自动查找到了以下说明:
[1.16] I cannot upload big dump files (memory, http or timeout problems).
Starting with version 2.7.0, the import engine has been re–written and these problems should not occur. If possible, upgrade your phpMyAdmin to the latest version to take advantage of the new import features.

The first things to check (or ask your host provider to check) are the values of upload_max_filesize, memory_limit and post_max_size in the php.ini configuration file. All of these three settings limit the maximum size of data that can be submitted and handled by PHP. One user also said that post_max_size and memory_limit need to be larger than upload_max_filesize.

以上文件大致说明的意思就是说,遇到导入过大文件时,首先检查php.ini 配置文件中的以下三个地方,upload_max_filesize, memory_limit 和post_max_size,并且推荐修改的值要稍大于导入的巨大sql数据库文件;依照这个提示,我修改了以上三个在php.ini中的值以后,重启 了php环境,再次导入时,虽然phpmyadmin还是显示导入最大限制:20,480 KB,但巨大的80M数据库文件已经被成功的导入了。

如何在mysql中批量导入大的sql文本文件?
在实际工作中,有时经常地时行mysql数据库的导入和导入操作,但对于大型sql文件导入时,phpmyadmin是不行的,有太多限制,比如记录,内存等!

比较好的办法仍是用mysql的source命令:

一、在客户端下操作:
1、进行入客户端
2、mysql>use 数据库名(如果没有,先建一个)
3、mysql>set names 'utf8'; (一般看导入的是什么格式的文件)
4、mysql>source d:/piaoyun.sql;
即可正常导入,如果有错,可以看出错提示

二、PHP文件操作:
建立mysql.php

里面有下面内容
mysql_connet('xxxx');
mysql_query("set names 'utf8'");
mysql_query("source d:/aaa.sql'");

原理同上,主要方便了无法使用命令行用户的操作

如何在mysql中批量导入大的sql文本文件的方法:

<?php

//用来快速Mysql的大数据备份
//使用前请首先按照代码注释修改要导入的SQL文件名、数据库主机名、数据库用户名、密码、数据库名
//同时将数据库文件和本文本一起ftp导网站目录,然后以web方式访问此文件即可
//落伍(www.im286.com)负翁版权所有,可随意使用,但保留版权信息

$file_name="sql.sql"; //要导入的SQL文件名
$dbhost="localhost"; //数据库主机名
$dbuser="user"; //数据库用户名
$dbpass="pass"; //数据库密码
$dbname="dbname"; //数据库名

set_time_limit(0); //设置超时时间为0,表示一直执行。当php在safe mode模式下无效,此时可能会导致导入超时,此时需要分段导入
$fp = @fopen($file_name, "r") or die("不能打开SQL文件 $file_name");//打开文件
mysql_connect($dbhost, $dbuser, $dbpass) or die("不能连接数据库 $dbhost");//连接数据库
mysql_select_db($dbname) or die ("不能打开数据库 $dbname");//打开数据库
mysql_query('set names utf8');
echo "正在执行导入操作";
while($SQL=GetNextSQL()){
if (!mysql_query($SQL)){
echo "执行出错:".mysql_error()."
";
echo "SQL语句为:
".$SQL."
";
};
}
echo "导入完成";

fclose($fp) or die("Can’t close file $file_name");//关闭文件
mysql_close();

//从文件中逐条取SQL
function GetNextSQL() {
global $fp;
$sql="";
while ($line = @fgets($fp, 40960)) {
$line = trim($line);
//以下三句在高版本php中不需要,在部分低版本中也许需要修改
$line = str_replace("////","//",$line);
$line = str_replace("/’","’",$line);
$line = str_replace("//r//n",chr(13).chr(10),$line);
// $line = stripcslashes($line);
if (strlen($line)>1) {
if ($line[0]=="-" && $line[1]=="-") {
continue;
}
}
$sql.=$line.chr(13).chr(10);
if (strlen($line)>0){
if ($line[strlen($line)-1]==";"){
break;
}
}
}
return $sql;
}
?>

mysql如何导入大SQL文件:
今天需要对MYSQL导入一个33M的SQL文件,可是phpmyadmin只支持到2M,网上找了找,发现可以使用source命令,以下就是方法:
1.导入数据库
常用source 命令
进入mysql数据库控制台
如mysql -u atyu -p
mysql>use web3guo
然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql>source c:/web3guo.sql

2.导出整个数据库
mysqldump -u 用户名 -p 数据库名 > 导出的文件名

3.导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名

MySQL导入大SQL文件的方法:

2008年02月08日 星期五 下午 07:21刚导入一个从mysql库导出的300多M的备份文件,因为phpmyadmin最多支持8M的,文件太大IE停止响应,所以在本地用

mysql -u root -p yourpassword yourdatabasename < c:/sqlfile.sql

但没导入进去,出来一大堆mysql的参数提示,不认输入的命令参数,后来写成下面这个样子,就是去掉了参数和数据之间的空格

mysql -uroot -pyourpassword yourdatabasename < c:/sqlfile.sql

导入就OK了。

导入mysql的时候导入不全,提示 :ERROR at line 1586: Unknown command “\”.

解决方法:
导出的时候加上参数:
mysqldump --default-character-set=utf8

导入的时候也加上:
mysql --default-character-set=utf8

案例:
bin>mysql -uroot -p piaoyunccdata --default-character-set=utf8 <d:/piaoyunccdata.sql

备注:

导出整个数据库
mysqldump --add-locks --add-drop-table -e --default-character-set=utf8 -h127.0.0.1 --password=123456 --user=root stt_user > stt_user.sql

导出整个数据库表结构
mysqldump --add-locks --add-drop-table -d --default-character-set=utf8 -h127.0.0.1 --password=123456 --user=root stt_user > stt_user.sql

导出存储过程和函数
mysqldump -hhostname -uusername -ppassword -ntd -R databasename > backupflie.sql
mysqldump -hlocalhost -uroot -ntd -R hqgr > hqgr.sql
其中的 -ntd 是表示导出存储过程;-R是表示导出函数

导出一张表数据和结构
mysqldump --add-locks --add-drop-table -e --default-character-set=utf8 -h127.0.0.1 --password=123456 --user=root stt_user member> member.sql
导出多张数据库
mysqldump --add-locks --add-drop-table -e --default-character-set=utf8 -h127.0.0.1 --password=123456 --user=root stt_user stt_config > stt.sql

导入
mysql -uroot -p123456 --default-charac

导出简单命令:
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u root -p student >d:/student.sql

Mysql导入大数据库文件的办法:
phpmyadmin是个很方便的mysql数据库管理工具,可以用来管理mysql数据库,导入,导出等。 但是phpmyadmin在导入mysql的时候有个问题,如果要导入的数据库文件比较大,那么导入就会失败。下面教大家一个简单有效的办法,可以导入任 意大小的mysql数据库,理论上不论您的数据库备份文件多大,都可以导入。

方法如下:
1.将数据库备份文件(如backup.sql)上传至网站根目录。
2.将以下代码保存为mysql.php文件,上传至网站根目录。

<?php
system("mysql -hdbhost -udbuser -ppassword dbname < backup.sql");
print "导入成功";
?>

其中
dbhost 改为您的数据库服务器地址(小提示:一般主机默认数据库服务器地址是:localhost)
dbuser 改为您的数据库用户名
password 改为您的数据库用户密码
dbname 改为您的数据库名
backup.sql表示通过ftp上传到网站根目录下数据库文件的文件名(该文件是解压缩后的文件)

3.在浏览器里面访问mysql.php,假设你的网站域名是www.piaoyun.org,那么就在浏览器里面输入 http://www.piaoyun.org/mysql.php,只要浏览器一访问这个mysql.php文件,数据就开始导入,数据导入结束后,就 会显示“导入成功”的字样。这个时间根据您要导入的数据大小决定,一般时间很短。

在Windows或者Linux下mysql安装后默认的密码为空,
又当我们又安装了mysql的管理工具
phpmyadmin后登陆时出现“空密码登陆呗禁止(参见允许密码为空)”。不能登录成功

解决办法如下:
1.要是你想用空密码,则将phpmyadmin下的
config.inc.php(根目录)或者config.default.php(根目录)再则:libraries\config.default.php
(友情提示,由于版本不一样可能涉及的文件不同,基本为这三个文件)

中的:

$cfg['Servers'][$i]['AllowNoPassword'] = false;

改为:

$cfg['Servers'][$i]['AllowNoPassword'] = true;

2.要是你想设置密码不为空则将

$cfg['blowfish_secret'] = '123456'; // use here a value of your choice 你要设置的密码