xampp安装以后,搭建服务器的时候,我们会遇到哪些问题呢?
1、MySQL Database 可以启动,而Apache Web Server无法启动?
应该是80端口被占用,那么如何解决呢?我们可以通过查找80被哪个占用,并关闭这个进程,方法如下:
1 root@bt:/# netstat -lntp | grep :80
2 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1716/apache2
关闭该服务,
1 root@bt:/# sudo service apache2 stop
2 * Stopping web server apache2 .. waiting .. [ OK ]
成功关闭。接下来,就可以启动Apache Web Server ,端口为 80.
2、在成功开启Apache Web Server 服务以后,就想调试 mysql ,发现 MySQL Database 虽然启动,但是无法打开连接sql,并出现以下错误
1 root@bt:/opt/lampp/var/mysql# mysql -u root -p
2 Enter password:
3 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
这时候,我就在想如何找到 mysqld.sock 到底在什么位置? 最终没能找到,只能找到 mysql.sock 位于
1 root@bt:/opt/lampp/var/mysql# ls
2 aria_log.00000001 bt.pid ibdata1 multi-master.info performance_schema tc.log
3 aria_log_control challenges ib_logfile0 mysql phpmyadmin test
4 bt.err dvwa ib_logfile1 mysql.sock security
好的,当我们找到 mysql.sock以后,我们右键点击创建链接,并且重命名为 mysqld.sock 然后右键剪切该文件,
并把它放到显示错误提示的路径中 ,即到/var/run/下,如果没有mysqld文件夹,就得新建一个,并把mysqld.sock放进去。
那么现在就有了mysqld.sock文件,并且在/var/run/mysqld/mysqld.sock 这里。
现在,我们就可以运行
1 root@bt:/# mysql -u root -p
2 Enter password:
3 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
发现还是出错,这是因为之前,找不到mysqld.sock,以为是密码不对,就修改了 /opt/lampp/etc/下的my.cnf,把password改回
为默认的your_name,实际上,就是空密码。内容如下
1 # The following options will be passed to all MySQL clients [client] 2 #password =your_name 3 port = 3306 4 socket = /opt/lampp/var/mysql/mysql.sock
好的,再次运行
1 root@bt:/# mysql -u root -p
2 Enter password:
3 Welcome to the MySQL monitor. Commands end with ; or g.
4 Your MySQL connection id is 37
5 Server version: 5.5.5-10.1.9-MariaDB Source distribution
6 ...
7 mysql>
成功完成,mysql的连接。