当前位置:首页 > 操作系统 > MacOs

Mac 安装 MySQL

<code><span class="line"><span class="nv">$ ruby -e <span class="s2">"$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
<span class="line"><span class="nv">$ brew install git
<span class="line"><span class="nv">$ brew update
</span></span></span></span></span></span></span></code>

 

二、安装 MySQL

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

<span class="line-number">1
</span>
<code><span class="line"><span class="nv">$ brew install mysql
</span></span></code>

 

安装完成之后会有这样的提示:

?  ~  brew install mysql
==> Downloading https://homebrew.bintray.com/bottles/mysql-5.6.25.yosemite.bottle.tar.gz
######################################################################## 100.0%
==> Pouring mysql-5.6.25.yosemite.bottle.tar.gz
==> Caveats
A "/etc/my.cnf" from another install may interfere with a Homebrew-built
server starting up correctly.

To connect:
    mysql -uroot

To have launchd start mysql at login:
  ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
Then to load mysql now:
  launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
Or, if you don‘t want/need launchctl, you can just run:
  mysql.server start
==> Summary
??  /usr/local/Cellar/mysql/5.6.25: 9833 files, 339M

  

 

 

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

<span class="line-number">1
<span class="line-number">2
<span class="line-number">3
<span class="line-number">4
</span></span></span></span>
<code><span class="line"><span class="nv">$ mkdir -p ~/Library/LaunchAgents
<span class="line"><span class="nv">$ ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
<span class="line"><span class="nv">$ find /usr/local/Cellar/mysql/ -name <span class="s2">"homebrew.mxcl.mysql.plist" -exec cp <span class="o">{} ~/Library/LaunchAgents/ <span class="se">;
<span class="line"><span class="nv">$ launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
</span></span></span></span></span></span></span></span></span></span></span></code>

 

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

<span class="line-number">1
<span class="line-number">2
</span></span>
<code><span class="line"><span class="nv">$ <span class="nb">unset TMPDIR
<span class="line"><span class="nv">$ mysql_install_db --verbose --user<span class="o">=<span class="sb">`whoami<span class="sb">` --basedir<span class="o">=<span class="s2">"$(brew --prefix mysql)" --datadir<span class="o">=/usr/local/var/mysql --tmpdir<span class="o">=/tmp
</span></span></span></span></span></span></span></span></span></span></span></span></code>

 

好了,可以启动了

<span class="line-number">1
</span>
<code><span class="line"><span class="nv">$ mysql.server start
</span></span></code>

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

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

三、更详细的设置

配置文件 my.cnf

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

<span class="line-number">1
</span>
<code><span class="line"><span class="nv">$ mysqld --help --verbose
</span></span></code>

 

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

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

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

<span class="line-number">1
</span>
<code><span class="line"><span class="nv">$ sudo cp <span class="k">$(brew --prefix mysql<span class="k">)/support-files/my-default.cnf /etc/my.cnf
</span></span></span></span></code>

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

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

错误日志

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

让别的电脑访问数据库

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

<span class="line-number">1
</span>
<code><span class="line"><span class="nb">bind-address <span class="o">= 127.0.0.1
</span></span></span></code>

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

<span class="line-number">1
</span>
<code><span class="line"><span class="nt"><string>--bind-address=127.0.0.1<span class="nt"></string>
</span></span></span></code>

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

Mac 安装 MySQL

标签:

本文系统来源:http://www.cnblogs.com/shineqiujuan/p/4705866.html


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐