MacOS下安装Mysql
这几天自己的新电脑到了,在装环境时,对Mysql走了弯路,觉得网上教程还是有点问题的,所以就写个教程,防止以后再走弯路。
1.下载mysql
对于mysql,看到版本跳跃比较大,一下子从5.7跳到了8.0。
怕改动太大,所以还是装5.7的。
官网下载:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
如果觉得下载慢,建议把下载链接拿到迅雷里面下。基本能满速。
2.安装
这部就不介绍了,建议默认设置一路点
下一步
安装到底。
3.配置
在安装的时候,可以看到生成的临时密码。不过我试了好多次都登不进去,所以这里就直接关掉密码认证。
# 进入mysql安装目录
cd /usr/local/mysql/bin/
# 获取最高权限
sudo su
# 安全启动mysql,并进入mysql客户端
mysqld_safe —skip-grant-tables &
./mysql
# 更新权限状态(必须执行)
flush privileges;
# 修改密码
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('0000');
# 更新权限
flush privileges;
# 退出
quit;
好了,mysql配置完成,现在可以正常使用了。
4.附加:数据库管理图形界面
可能大家用的比较多的是
MySQL Workbench
,在这里推荐大家用一下phpMyAdmin
(基于PHP环境,Mac已经有该环境),个人感觉挺好用的。
####4.1下载phpMyAdmin
官网下载:https://www.phpmyadmin.net/downloads/
下载最新版,我现在是4.8.2。
4.2解压并移动到相应目录
# 解压
unzip phpMyAdmin-4.8.2-all-languages.zip
sudo mv -rf phpMyAdmin-4.8.2-all-languages /Library/WebServer/Documents/mysql
(可选)自动登录,免输入账号密码。
# 配置phpMyAdmin
cd /Library/WebServer/Documents/mysql
sudo cp config.sample.inc.php config.inc.php
sudo vi config.inc.php
# 设置如下内容:(做相应修改,并不去掉原来内容)
# 登录mysql认证方式[config 或 cookies]
/**
* First server
*/
$i++;
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'config';
# 连接mysql的host
$cfg['Servers'][$i]['host'] = '127.0.0.1';
# 允许无密码进行连接
$cfg['Servers'][$i]['AllowNoPassword'] = true;
# 连接mysql用户名和密码
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '0000';
(可选)将开启登录页面可输入数据库服务IP地址
# 再设置登录页面可输入mysql服务IP
vi /libraries/config.default.php
# 修改如下的false为true
$cfg['AllowArbitraryServer'] = true;
(可选)选择服务器进行登录。
/**
* First server
*/
$hosts=array(
'1'=>array('host'=>'192.168.2.197','user'=>'root','password'=>'0000'),
'2'=>array('host'=>'192.168.2.142','user'=>'root','password'=>'123456')
);
for($i=1;$i<=count($hosts);$i++){
/*Authenticationtype*/
$cfg['Servers'][$i]['auth_type']='cookie';
/*Serverparameters*/
$cfg['Servers'][$i]['host']=$hosts[$i]['host'];
$cfg['Servers'][$i]['connect_type']='tcp';
$cfg['Servers'][$i]['compress']=false;
/*Selectmysqliifyourserverhasit*/
$cfg['Servers'][$i]['extension']='mysql';
$cfg['Servers'][$i]['AllowNoPassword']=true;
$cfg['Servers'][$i]['user']=$hosts[$i]['user'];
$cfg['Servers'][$i]['password']=$hosts[$i]['password'];
/*rajkforblobstreaming*/
$cfg['Servers'][$i]['bs_garbage_threshold']=50;
$cfg['Servers'][$i]['bs_repository_threshold']='32M';
$cfg['Servers'][$i]['bs_temp_blob_timeout']=600;
$cfg['Servers'][$i]['bs_temp_log_threshold']='32M';
}
4.3开启PHP环境
虽然Mac自带PHP环境,但默认是关闭的,所以需要自己开启。
sudo vi /etc/apache2/httpd.conf
# 输入/LoadModule php 进行查找定位
# 把对于的LoadModule php 前的#符号去掉
# 参考下图:
重启服务:
sudo apachectl restart
浏览器打开:http://localhost/mysql/
# 调宽PHP文件上传限制
sudo cp /private/etc/php.ini.default /private/etc/php.ini
sudo vi /private/etc/php.ini
# 建议修改内容:
# 是否允许通过http方式上传文件
file_uploads=on
# 允许脚本最大执行时间,超过这个时间就会报错,0为无限
max_execution_time=0
# 设置脚本可以分配的最大内存量,防止失控脚本占用过多内存,此指令只有在编译时设置了 –enable-memory-limit标志的情况下才生效
memory_limit=800M
# 允许上传文件的最大大小,此指令必须小于post_max_size
upload_max_filesize=700M
# 允许post方式可以接受最大大小
post_max_size=800M
###5.附加:转移数据库(只适合数据不是很大的)
前面说到,这是我的新电脑,之前还有很多数据没有转移过来。当时我觉得数据库都是mysql,应该直接把文件拷过来就好了,但事实是不可以的,网上说版本必须一样,刚好我的版本(5.7.18和5.7.22)只有一点不同,我转移过去导致mysql挂掉了,重新初始化还是不行,最后只能重新安装了mysql。
这里使用的方法是将数据库数据导出为.sql
文件,然后再导进新电脑。
导出:
导入: