`
hongtoushizi
  • 浏览: 359134 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

在 Mac 下用 Homebrew 安装 MySQL

    博客分类:
  • ios
阅读更多

转载自: http://blog.neten.de/posts/2014/01/27/install-mysql-using-homebrew/

 

在 Mac 下用 Homebrew 安装 MySQL, 网上的教程倒是很多,不过大多数都很默契地雷同。如果稍有点定制要求,就无从下手了。

我先也不免俗,从基本的开始:

一、首先安装 Homebrew

1
2
3
$ ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
$ brew install git
$ brew update

二、安装 MySQL

用下面的命令就可以自动安装了:

1
$ brew install mysql

如果想让 MySQL 开机自动启动,可以如下操作:

1
2
3
4
$ mkdir -p ~/Library/LaunchAgents
$ ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
$ find /usr/local/Cellar/mysql/ -name "homebrew.mxcl.mysql.plist" -exec cp {} ~/Library/LaunchAgents/ \;
$ launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

设置 MySQL 用户以及数据存放地址

1
2
$ unset TMPDIR
$ mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp

好了,可以启动了

1
$ mysql.server start

另外的参数还有 {start|stop|restart|reload|force-reload|status}

大部分的介绍就在此结束了。

三、更详细的设置

配置文件 my.cnf

作为用惯了 Linux 的人, 一定会去 /etc 下找 my.cnf, 让你失望了,这个文件要自己建立。如果看一下帮助

1
$ mysqld --help --verbose

就会发现系统会按这个顺序去找 my.cnf

  1. /etc/my.cnf
  2. /etc/mysql/my.cnf
  3. /usr/local/etc/my.cnf
  4. ~/.my.cnf

一般网上大虾都会这么教小白建立 my.cnf, 其实这个默认的文件里面几乎没什么内容。

1
$ sudo cp $(brew --prefix mysql)/support-files/my-default.cnf /etc/my.cnf

所以,还是自己老老实实参考 linux 下的配置文件吧。

my.cnf (my.cnf.txt) download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with 
# ticks/quotes escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing 
# the socket location.
[client]
port        = 3306
#socket     = /var/run/mysqld/mysqld.sock
# Here is entries for some specific programs
# The following values assume you have at least 32M ram
# This was formally known as [safe_mysqld]. Both versions 
# are currently parsed.
[mysqld_safe]
#socket     = /var/run/mysqld/mysqld.sock
#nice       = 0
[mysqld]
#
# * Basic Settings
#
#
# * IMPORTANT
#   If you make changes to these settings and your system uses 
#   apparmor, you may also need to also adjust 
#   /etc/apparmor.d/usr.sbin.mysqld.
#
#user       = mysql
#socket     = /var/run/mysqld/mysqld.sock
port        = 3306
#basedir    = /usr
datadir    = /usr/local/var/mysql
#tmpdir     = /tmp
skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address        = 127.0.0.1
#
# * Fine Tuning
#
key_buffer          = 16M
max_allowed_packet  = 16M
thread_stack        = 192K
thread_cache_size   = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover         = BACKUP
#max_connections       = 100
#table_cache           = 64
#thread_concurrency    = 10
#
# * Query Cache Configuration
#
query_cache_limit   = 1M
query_cache_size    = 16M
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
#general_log_file        = /var/log/mysql/mysql.log
#general_log             = 1
log_error                = /usr/local/var/mysql/MacBook15.local.err
# Here you can see queries with especially long duration
#log_slow_queries   = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
#
# The following can be used as easy to replay backup logs or 
# for replication.
# note: if you are setting up a replication slave, see 
#       README.Debian about other settings you may need 
#       to change.
#server-id          = 1
#log_bin            = /var/log/mysql/mysql-bin.log
expire_logs_days    = 10
max_binlog_size     = 100M
#binlog_do_db       = include_database_name
#binlog_ignore_db   = include_database_name
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem
# Query Caching
query-cache-type = 1
# Default to InnoDB
default-storage-engine=innodb
[mysqldump]
quick
quote-names
max_allowed_packet  = 16M
[mysql]
#no-auto-rehash # faster start of mysql but no tab completition
[isamchk]
key_buffer      = 16M

错误日志

错误日志默认会存在数据目录下,也就是上面所定义的 /usr/local/var/mysql/,如果 Mac 电脑名字是 MacBook,那日志的全路径就是 /usr/local/var/mysql/MacBook.local.err

让别的电脑访问数据库

取消下面两个文件中关于绑定 127.0.0.1 的语句
/etc/my.cnf

1
bind-address = 127.0.0.1

~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

1
<string>--bind-address=127.0.0.1</string>

就我个人而言,不需要 MySQL 自启动,所以只要在 /etc/my.cnf 改一下就好了。

 
分享到:
评论

相关推荐

    解决mac使用homebrew安装MySQL无法登陆问题

    如果你电脑是Mac的,使用homebrew安装MySQL是一个非常便捷的方式,但是还是会出现一些问题。下面通过本文给大家介绍解决mac使用homebrew安装MySQL无法登陆问题,需要的朋友可以参考下

    mysql安装配置教程(win+mac)完整版

    在Mac部分,我们介绍了使用Homebrew安装MySQL的过程,以及如何启动MySQL服务和配置数据库。这些步骤简单明了,适用于所有Mac用户。 无论你是想在个人项目中使用MySQL,还是在工作中需要这项技能,本教程都会为你提供...

    dbf2mysql-mac:使dbf2mysql可与Mac OS X兼容的一些修复程序

    如果您的系统找不到mysql_config程序,则可能必须明确说明在何处可以找到MySQL安装。 用您MySQL安装路径替换第24行和第25行,分别是/include/mysql和/lib 。 例如,如果您通过homebrew安装了MySQL,则其外观应如下...

    Mac上将brew安装的MySql改用Docker执行操作过程

    本着技术人折腾的本性,尝试将本地的MySql服务器改成用docker执行,本文记录折腾过程,以作备忘。 步骤如下: 1:安装docker 自己找文档去 2:使用mysql官方发布的docker image,命令如下 docker pull mysql/mysql-...

    Mac MySQL重置Root密码的教程

    申明:本重置密码可直接对Homebrew安装的MySQL进行密码重置,对于其他方式安装的MySQL需要切换对应的安装目录即可。 安装MySQL后时间太长了会忘记密码,在这里总结一下忘记密码时如何重置本地MySQL Root密码。 所有...

    Mac下MySQL的my.cnf配置文件在哪

    无论是homebrew等方式,在Mac下都是不会生成my.cnf文件,因为已经使用了最优默认值,如果需要也可以自行新建或配置/etc/my.cnf 加载my.cnf位置顺序查看: mysql --verbose --help | grep my.cnf 默认安装位置:/...

    mac0S_brew慢的问题.zip brew使用国内镜像解决下载慢的问题

    Mac下使用国内镜像安装Homebrew,解决brew在mac下安装软件下载慢的问题,zip包内已经替换了国内镜像文件, Mac OS 安装 brew 已经替换国内源,直接使用即可 1.把 brew_install 复制到 /users目录 2.安装 ruby ./...

    macOS Sierra安装Apache2.4+PHP7.0+MySQL5.7.16

    Mac系统上虽然自带PHP和Apache,但是有时不是我们想要的版本呢。...本篇博客我们安装的Apache是2.4的版本, MySQL...在安装上述相关内容之前,要确保你的brew是最新版本。关于Mac下Homebrew的安装在此就不做过多赘述了,

    mac下安装nginx和php

    mac下使用homebrew安装安装、配置nginx、mysql、php-fpm的方法。

    在centos7下安装和部署java8和mysql

    一般学习java和部署项目都是在本地部署,但是生产环境一般都是在linux环境下,部署和安装环境都是在控制台下进行操作的,没有windows的可视化的操作界面,对与linux的命令掌握和操作对小白来说都是一个个挑战,记录...

    Mac环境下php操作mysql数据库的方法分享

    在Mac系统,我们可以使用MAMP Pro 软件来搭建本地服务器。安装好这款软件,网站的目录在 /Applications/MAMP/htdocs 文件夹里,只需将文件放入该文件夹中,就可以通过http://localhost:8888来访问了,或者通过点击...

    在Mac OS上搭建Nginx+PHP+MySQL开发环境的教程

    homebrew是mac下非常好用的包管理器,会自动安装相关的依赖包,将你从繁琐的软件依赖安装中解放出来。 安装homebrew也非常简单,只要在终端中输入: &lt;!-- lang: shell --&gt; ruby -e "$(curl -fsSL ...

    在Mac系统上配置MySQL以及Squel Pro

    特此记录Mac系统下如何安装、配置MySQL及其管理工具Squel Pro。 为什么选择MYSQL: 数据库有很多,为什么么我选择了MySQL呢。 关系型数据库 or NoSQL 近年来NoSQL大红大紫,其中佼佼者mongoDB更是方便易用。二者的...

    Mac OS下PHP环境搭建及PHP操作MySQL常用方法小结

    Mac本地环境搭建 在Mac系统,我们可以使用MAMP Pro (官方...mac系统下安装php,两行即可。 brew tap josegonzalez/homebrew-php brew install php54 安装完后配置一下,你就可以使用phpstorm来愉快地编程啦。安装的

    Mac OS上安装PostgreSQL的教程

    一直以来,我和 MySQL 这位久经考验的老朋友合作愉快。但自从了解了一点 PostgreSQL 后, 对其丰富的功能特性就十分着迷。比如字段类型原生支持 json, xml 和 array。跟 MySQL 比起来,感觉 PostgreSQL 更高级一些。 ...

    swappr:用于管理轮班交换的客户端服务器应用程序

    在 Mac 上使用 Homebrew: brew update && brew install phantomjs 导航到 /integration/smoke_tests 并运行 bundle install 跑步 要在本地运行测试,即 localhost:8080,请使用: rake smoke_test 在运行测试...

    chef-applications:一本基于枢轴工作台的菜谱,但没有很多自定义提供程序,也没有很多清洁工

    本食谱提供了一个名为homebrew_package的软件包提供程序,它将使用Homebrew安装/删除软件包。 如果您的平台是Mac OS X,它将成为package的默认提供package 。 当这扩展了Chef中的内置包资源/提供程序时,它具有包...

    Mac开发配置手册

    如何让一部全新的macbook快速完成开发环境配置。 如果你是一名老手,本手册让你减少配置开发环境带来的烦恼; 如果你是一名新手,恭喜你,你讲认识一个全新的世界。...xcode,homebrew,iterm2,git,mysql,apps

    ansible-memsql:使用 Ansible 在 VirtualBox 上部署 MemSQL Community Edition

    安装 Ansible(如果你使用 Homebrew,我推荐brew install ansible ansible) 安装 VirtualBox 4GB 内存,4 个 CPU 指示 导航到这个 repo 的主目录并执行vagrant up 这将运行 Ansible playbook,它将 (a) 创建一个...

Global site tag (gtag.js) - Google Analytics