Alex的博客

本博客的文章均为原创,是本人从事行业多年来所遇见一些小问题的解决心得,希望可以帮助到大家!



Mac下Apache+MySQL+PHP开发环境安装过程+重置mysql密码

mac下是自带有Apache和php的服务器的,不需要另外安装。


在终端中输入,下面指令即可启动Apache服务器:

//启动
 sudo apachectl-k start  
  //重新启动
 sudo apachectl -k restart

验证:

在浏览器中输入:http://127.0.0.1,显示为It Works!,既证明服务器已经启动。

但是由于默认站点位于系统路径下,所以我们修改到自定义的路径。所以还需要进行相关配置

修改站点位置:

终端中输入

cd /etc/apache2/
 sudo vim httpd.conf // 会提示输入密码,输入后回车即可
 英文下输入: /DocumentRoot,查找,
 注:1:注意区分大小写;2:要修改两个地方,故要进行两次查找。

第一次查找后,修改:

DocumentRoot "/Library/WebServer/Documents"  (默认目录)


改成自己的路径同下面一句也改成自己的路径

<Directory "/Library/WebServer/Documents">

我的


#####################

#DocumentRoot "/Library/WebServer/Documents"

DocumentRoot "/Users/Alex.Zhao/Sites"

#<Directory "/Library/WebServer/Documents">

<Directory "/Users/Alex.Zhao/Sites">

#####################


然后搜索:(虚拟主机配置文件)

Include /private/etc/apache2/extra/httpd-vhosts.conf

去掉前面的#



然后就可以直接编辑 vhosts文件来管理站点了



配置支持php

搜索

LoadModule php5_module libexec/apache2/libphp5.so

去掉注释符#


终端中输入:

cd /etc/
 sudo cp php.ini.default php.ini

重启服务器,在自定义的站点路径下放置php文件,即可访问php内容


安装mysql

MySql下载:http://dev.mysql.com/downloads/mysql/ MySqlWorkbench下载:http://dev.mysql.com/downloads/workbench/

下载后直接安装即可,一路默认就好

安装好后会弹出一个窗口显示mysql的临时密码;

一定要记住

否则就只能和我一样重置root密码了;

如果你记下了临时密码就直接启动mysql服务


/usr/local/mysql/support-files/mysql.server start


然后登陆终端

cd /usr/local/mysql/bin

./mysql  -u root -p临时密码

set password = password('新密码');

flush privileges;

然后就能正常执行mysql语句了



MySql配置:

默认状态下,我们用mysql的命令每次都要输入全路径,如sudo /usr/local/mysql/support-files/mysql.server start 开启mysql服务,/usr/local/mysql/bin/mysql -v查看mysql版本,得先把bin目录配到环境变量里。切换到用户根目录 ,vim ~/.bash_profile,输入:
export PATH=”/usr/local/mysql/bin:$PATH”
保存后,source .bash_profile使环境变量生效。接着就可以直接在终端里输入mysql命令了



如果没能记住临时密码哪就只能重置密码了

停止mysql服务

/usr/local/mysql/support-files/mysql.server stop

然后执行

./mysqld_safe --skip-grant-tables

然后新开一个窗口然后进入mysql目录

cd /usr/local/mysql/bin

mysql -u root -p

回车

然后输入:

update mysql.user set authentication_string=password('newspassword') where user='root' and Host = 'localhost';

(newspassword)为新密码,特别提醒注意的一点是,新版的mysql数据库下的user表中已经没有Password字段了,而是将加密后的用户密码存储于authentication_string字段

flush privileges;

quit;

然后关掉之前的窗口


重新启动mysql服务

/usr/local/mysql/support-files/mysql.server start

然后就能正常管理mysql了


这里顺便说一下怎么查看占用端口号的程序id 并结束它

sudo lsof -i :mysql

kill -9 pid号


如果php无法正常连接mysql的话就终端登录mysql 然后输入status查看状态找到UNIX socket:

记录下来 我的事 /tmp/mysql.sock

sudo vim /etc/php.ini

查找

pdo_mysql.default_socket

mysql.default_socket

mysqli.default_socket

这三个选项分别把值设置成刚才的/tmp/mysql.sock

然后保存重启apache

如果提示保存失败就强制保存后面加一个感叹号(wq!)

对了还有就是在php.ini中开启相应的扩展可以搜索mysql然后把常用的都打开具体的就不细说了时间比较紧。


让mysql开机自动启动。
sudo vim /Library/LaunchDaemons/com.mysql.mysql.plist,里面内容输入:



KeepAlive

Label
com.mysql.mysqld
ProgramArguments

/usr/local/mysql/bin/mysqld_safe
–user=mysql



保存后,修改权限:
sudo chown root:wheel /Library/LaunchDaemons/com.mysql.mysql.plist
sudo chmod 644 /Library/LaunchDaemons/com.mysql.mysql.plist
sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysql.plist
这样mysql就ok了!

修复socket error的问题。有一个负责mysql 服务器 客户端通讯的socket文件,mysql的这个版本将其放在/tmp目录,但是OSX却默认的找 /var/mysql 这个目录,所以要建个软链接。新建目录 /var/mysql, 然后sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock 就ok了。

浏览1183  评论0  Alex于 2016-4-18 17:43
MAC
发言