配置思路 1.mysql 原生的所有东西按照默认配置,保证mysql-workbench可以正常启动。 2.在mysql所有官方自带软件可用的条件下,配置xampp.
一:安装mysql 1.mysql$ sudo apt-get install mysql-server ....//安装过程中,可以看到Mysql已经启动。 160705 11:09:46 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead. 160705 11:09:46 [Note] /usr/sbin/mysqld (mysqld 5.5.49-0ubuntu0.14.04.1) starting as process 9443 ... mysql start/running, process 9579 正在处理用于 ureadahead (0.100.0-16) 的触发器 ... 正在设置 mysql-server (5.5.49-0ubuntu0.14.04.1) ... mysql$ netstat -a | grep mysql /usr/sbin/mysqld pid->9443 mysql pid->9579
mysql c---s
- mysql 服务器已经启动,我们测试cli mysql -u root -p //使用root登录。 我们查看现在msyql的通信是否正常: mysql$ netstat -a | grep mysql tcp 0 0 localhost:mysql : LISTEN unix 2 [ ACC ] 流 LISTENING 61816 /var/run/mysqld/mysqld.sock unix 3 [ ] 流 已连接 63005 /var/run/mysqld/mysqld.sock 每有一个cli登录,我们就会多看到一条信息。
3.安装mysql-workbench测试登录Ok。 mysql mysql-workbench
到目前为止,我们安装都使用了默认配置。 需要理解的mysql通信使用socket socket的位置: /var/run/mysqld/mysqld.sock /var/run/mysqld/mysqld.pid 我们通过sock来链接mysql ser, 我们通过kill pid 来关闭mysql. 在xampp中ctl.sh中都是这么实现的。
现在我们安装:xampp.过程省略 我们主要来处理xampp中的mysql登录问题。 由于mysql是独立于xampp来安装的,xampp 中的xampp 启动mysql时出现问题。
主要原因: 1.xampp中的mysql-->pid 文件异常 2.xampp中的mysql-->sock 文件异常
解决方法: 替换xampp中所有涉及到pid/sock的地方为我们默认安装mysql的 /var/run/mysql/mysql.pid 和sock
主要操作: 一:xampp中mysql配置和我们mysql保持一致。
- mv /opt/lampp/etc/my.cnf /opt/lampp/etc/my_xampp.cnf
- cp /etc/mysql/my.cnf /opt/lampp/etc/my.cnf
二:localhost/phpmyadmin登录问题。
1.使用php程序链接mysql测试ok.
2.localhost Ok(apache 必须启动)
3.localhost/phpmyadmin 失败。 (我们自己php程序可以链接mysql但是xampp不可以链接) 但是通过查看页面加载过程,我们找到
<a href="/phpmyadmin/">phpMyAdmin</a> 我们需要查看/phpmyadmin/index.php phpmyadmin$ pwd /opt/lampp/phpmyadmin phpmyadmin$ vi index.php phpmyadmin$ 出错的原因是xampp中localhost/phpmyadmin不知道我们安装mysql时的root密码。
phpmyadmin$ vi config.inc.php +31
php admin登录成功。 /opt/lampp/etc/config.ini.php
===================================
总结; 这样的配置是不是违反了mysql安全配置原则. 主要目的就是不断适配xampp的配置。
mysql$ pwd /opt/lampp/var/mysql mysql$ ll hyh-Lenovo-V470c.pid lrwxrwxrwx 1 root root 26 7月 5 11:55 hyh-Lenovo-V470c.pid -> /var/run/mysqld/mysqld.pid mysql$ ll mysql.sock lrwxrwxrwx 1 root root 27 7月 5 11:48 mysql.sock -> /var/run/mysqld/mysqld.sock= mysql$
why we do this ? just look mysql/scripts/ctl.s
README.txt scripts/
lampp$ vi mysql/scripts/ctl.sh MYSQL_PIDFILE=/opt/lampp/var/mysql/$HOSTNAME.pid
3.理解到这里,建议参考 xampp官方文档进行配置。 先安装xampp,集成环境和php都Ok,然后建立软链接给mysql-workbench用。