王艳玲 发表于 2018-10-1 08:07:41

配置phpmyadmin连接远程 MySQL数据库

  Mysql 服务器上面安装mysql
  yum -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@'%'>  >flush privileges;
  远程客户端phpmyadmin上面测试:
  yum -y install mysql
  #mysql -h 192.168.0.200 -u root -p
  Enter 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 实现远程连接 Mysql
  phpMyAdmin 最新稳定版下载地址:
  下载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.iyunv.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文件夹中
  # pwd
  /opt/httpd/php5.5.10/bin
  # cp phpize /opt/software/php-5.5.10/ext/mysqli/
  2.进入php的源码包中的ext下面的mysqli文件夹中执行phpize这个脚本:
  # ./phpize
  Configuring for:
  PHP Api Version:         20121113
  Zend Module Api No:      20121212
  Zend Extension Api No:   220121212
  3.生成configure文件:
  #./configure --with-php-config=/opt/httpd/php5.5.10/bin/php-config --enable-embedded-mysqli=shared --with-mysqli=/usr/local/mysql/bin/mysql_config
  # ls
  acinclude.m4    config.w32       mysqli_driver.c      mysqli.lo               mysqli_result_iterator.lo
  aclocal.m4      CREDITS          mysqli_driver.lo   mysqli_mysqlnd.h          mysqli_warning.c
  autom4te.cacheinstall-sh       mysqli.dsp         mysqli_nonapi.c         mysqli_warning.lo
  build         ltmain.sh      mysqli_embedded.c    mysqli_nonapi.lo          package.xml
  config.guess    Makefile.globalmysqli_exception.c   mysqli_priv.h             phpize
  config.h.in   missing          mysqli_exception.lomysqli_prop.c             php_mysqli.h
  config.m4       mkinstalldirs    mysqli_fe.c          mysqli_prop.lo            php_mysqli_structs.h
  config.sub      mysqli_api.c   mysqli_fe.h          mysqli_report.c         run-tests.php
  configure    mysqli_api.lo    mysqli_fe.lo         mysqli_report.lo          tests
  configure.in    mysqli.c         mysqli_libmysql.h    mysqli_result_iterator.cTODO
  4.安装make、make install
  # make
  cp ./.libs/mysqli.so /opt/software/php-5.5.10/ext/mysqli/modules/mysqli.so
  cp ./.libs/mysqli.lai /opt/software/php-5.5.10/ext/mysqli/modules/mysqli.la
  PATH="$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
  # make install
  Installing 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配置文件:
  # vim php.ini
  在最后一行添加如下字段:
  extension=/opt/httpd/php5.5.10/lib/php/extensions/no-debug-zts-20121212/mysqli.so
  6.重启apache服务,结果如下:


页: [1]
查看完整版本: 配置phpmyadmin连接远程 MySQL数据库