您的位置:首页 > 编程语言 > PHP开发

配置phpmyadmin连接远程 MySQL数据库

2014-05-06 20:52 561 查看
Mysql 服务器上面安装mysqlyum -y install mysql mysql-devel mysql-server mysql-*首次安装后,执行#mysql 后,执行修改密码操作>use mysql>update user set password=password("字符串"或者'数字') where user="root";>flush privileges; 这步是必须的,不然不能生效
接着,root 用户登陆 mysql授权 root 账户能够远程访问最好是创建一个DB,以供远程访问,而保留 mysql 数据库>create database emb;然后>use emb>grant all privileges on mysql.* to admin@'%' identified by "123456">flush privileges;
远程客户端phpmyadmin上面测试:yum -y install mysql#mysql -h 192.168.0.200 -u root -pEnter password:
键入密码即可测试,这里的192.168.0.200是远程MySQL服务器的iP地址。如果不能连接,打开数据库服务器,将3306端口信任即可vim /etc/sysconfig/iptables添加:-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

查看 mysql 用户>use mysql> select user,host,password from user;
phpMyAdmin 实现远程连接 MysqlphpMyAdmin 最新稳定版下载地址:下载phpMyAdmin-4.0.9-all-languages
解压unzip phpMyAdmin-4.0.9-all-languages.zip拷贝至web安装目录cp phpMyAdmin-4.0.9-all-languages /*/web/phpMyAdmin设置 phpmyadmin 配置文件vim ./phpMyAdmin/libraries/config.default.php#大概在 125 行左右将 $cfg['Servers'][$i]['host'] = ‘localhost’更改为 $cfg['Servers'][$i]['host'] = ‘远程数据库服务器IP地址’现在在网页上登陆 phpMyAdmin键入远程数据库的 账户和密码, 这里既admin和123456进去即是远程服务器的数据库。

参考:
http://www.osyunwei.com/archives/869.html
http://blog.csdn.net/myembedded/article/details/16882939

遇到问题:
1)Linux下phpmyadmin出现“缺少MySQLi扩展,请检查PHP配置”
原因:mysqli这个扩展没有安装,或者你没有在php.ini里面加入extension=mysqli.d
解决方案:
yum install php-mysql



然后重启apache
或者
编辑php.ini
在最后加入
extension=mysqli.d

2)


这个是因为mysql没有启动的缘故。
启动mysql:service mysqld start

3)phpMyAdmin“缺少 mcrypt 扩展。请检查 PHP 配置。
解决办法:安装php-mcrypt libmcrypt libmcrypt-devel这三个库文件下面以CentOS 6.0系统为例来为说明:
1、安装第三方yum源(默认yum源里面没有这几个库文件,不能使用yum安装)
wget http://www.atomicorp.com/installers/atomic #下载
sh ./atomic #安装
2、使用yum命令安装 yum install php-mcrypt libmcrypt libmcrypt-devel
3、重启系统
shutdown -r now 现在打开phpMyAdmin登录页面,没有了错误提示,问题解决4)在登录phpmyadmin管理数据库,会出现“配置文件现在需要一个短语密码”的警告
解决方法:
打开目录phpmyadmin/libraries中的config.default.php文件
查找下面这行:$cfg['blowfish_secret'] = '这里就是需要的短语密码';(短语密码请随意填写)
比如修改为:$cfg['blowfish_secret'] = 'cookiess'
查找:$cfg['Servers'][$i]['auth_type'] = ‘cookie’ #后面的值默认为cookie,不做更改
原因:会出现这个问题,就是因为这段:$cfg['Servers'][$i]['auth_type'] = ‘cookie'
这里有四个值可供填写:cookie http HTTP config
config方式即输入phpmyadmin的访问网址即可直接进入,无需输入用户名和密码,是不安全的,不推荐使用。
cookie,http或HTTP时,登录phpmyadmin需要数据用户名和密码进行验证,
具体如下:PHP安装模式为Apache,可以使用http和cookie;PHP安装模式为CGI,可以使用cookie
通常这个值设置为cookie即可。

5)phpMyAdmin数据库出现中文乱码



在使用phpMyAdmin创建数据库和往该数据库新建表添加字段时都选择utf8_general_ci字符集(可以兼容世界上很多很多国家的语言),而默认是瑞典语Latin1(出现乱码的原因所在)。

现在mysql数据库中文显示正常了,但通过PHP查询出来显示在浏览器上时又出现乱码现象,这时应该在连接数据库mysql_connect()语句后面加一句mysql_query("set names utf8", $con);来设置编码。总结:创建数据库和表时,设置编码为utf8,查询显示时也设置编码utf8,可以很好地解决中文出现乱码的现象。
6)phpMyAdmin提示缺少mysqli扩展的解决方法

解决办法:1.将已经安装好的php文件中的bin文件夹里面的phpize脚本复制到源码文件中的ext下面的mysqli文件夹中[root@ns bin]# pwd/opt/httpd/php5.5.10/bin[root@ns etc]# cp phpize /opt/software/php-5.5.10/ext/mysqli/2.进入php的源码包中的ext下面的mysqli文件夹中执行phpize这个脚本:[root@ns mysqli]# ./phpizeConfiguring for:PHP Api Version: 20121113Zend Module Api No: 20121212Zend Extension Api No: 2201212123.生成configure文件:[root@ns mysqli]# ./configure --with-php-config=/opt/httpd/php5.5.10/bin/php-config --enable-embedded-mysqli=shared --with-mysqli=/usr/local/mysql/bin/mysql_config[root@ns mysqli]# lsacinclude.m4 config.w32 mysqli_driver.c mysqli.lo mysqli_result_iterator.loaclocal.m4 CREDITS mysqli_driver.lo mysqli_mysqlnd.h mysqli_warning.cautom4te.cache install-sh mysqli.dsp mysqli_nonapi.c mysqli_warning.lobuild ltmain.sh mysqli_embedded.c mysqli_nonapi.lo package.xmlconfig.guess Makefile.global mysqli_exception.c mysqli_priv.h phpizeconfig.h.in missing mysqli_exception.lo mysqli_prop.c php_mysqli.hconfig.m4 mkinstalldirs mysqli_fe.c mysqli_prop.lo php_mysqli_structs.hconfig.sub mysqli_api.c mysqli_fe.h mysqli_report.c run-tests.phpconfigure mysqli_api.lo mysqli_fe.lo mysqli_report.lo testsconfigure.in mysqli.c mysqli_libmysql.h mysqli_result_iterator.c TODO4.安装make、make install
[root@ns mysqli]# makecp ./.libs/mysqli.so /opt/software/php-5.5.10/ext/mysqli/modules/mysqli.socp ./.libs/mysqli.lai /opt/software/php-5.5.10/ext/mysqli/modules/mysqli.laPATH="$PATH:/sbin" ldconfig -n /opt/software/php-5.5.10/ext/mysqli/modules----------------------------------------------------------------------Libraries have been installed in: /opt/software/php-5.5.10/ext/mysqli/modules[root@ns mysqli]# make installInstalling shared extensions: /opt/httpd/php5.5.10/lib/php/extensions/no-debug-zts-20121212/Installing header files: /opt/httpd/php5.5.10/include/php/5.修改php配置文件:[root@ns etc]# vim php.ini在最后一行添加如下字段:extension=/opt/httpd/php5.5.10/lib/php/extensions/no-debug-zts-20121212/mysqli.so6.重启apache服务,结果如下:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  phpmyadmin