mac mysql 安装 简书_在Mac系统上配置MySQL以及Squel Pro

为了响应nodejs的大红大紫,最近应用其实现了一些server端的功能。数据库方面选择了老少咸宜的MySQL。今后肯定还会有相关应用需求。特此记录Mac系统下如何安装、配置MySQL及其管理工具Squel Pro。

为什么选择MYSQL:

数据库有很多,为什么么我选择了MySQL呢。

关系型数据库 or NoSQL

近年来NoSQL大红大紫,其中佼佼者mongoDB更是方便易用。二者的优劣细节讨论起来恐怕不是一篇文章能够搞定的。此处大概总结如下:

适合使用SQL开发的项目:

可以预先定义逻辑相关的离散数据的需求

数据一致性是必要的

具有良好的开发者经验和技术支持的标准的成熟技术

适合使用NoSQL开发的项目:

不相关,不确定和逐步发展的数据需求

更简单或者更宽松的能够快速开始编程的项目

速度和可扩展性至关重要的

由于我们的需求比较明确,关系比较固定,并且业务量不大,速度要求不高。相反对于逻辑要求比较严格,所以选择传统的关系型数据库。

确定了使用关系型数据库,这个问题反而容易解决了,直接随大流MySQL似乎成了绝大多数人的选择。我个人总结原因如下:

开源,免费。

主流,速度快,性能足够。

用户多,社区活跃。

配套工具多,简单易用。

安装MySQL

1、Homebrew

可以选择官网下载安装,但是命令行毕竟方便太多了,如果没有homebrew,请打开Terminal,使用以下命令安装。

?1234# 安装homebrewruby -e "$(curl -fsSL  https://raw.githubusercontent.com/Homebrew/install/master/install)"# 验证安装正确brew doctor

安装MySQL

?1brew install mysql

此时注意到提示如下,所以先启动服务,再运行相关命令:

We've installed your MySQL database without a root password. To secure it run:

mysql_secure_installation

启动MySQL服务

?1mysql.server start

按提示mysql_secure_installation,设置用户名以及密码

?1mysql_secure_installation

这里按照提示一步一步设置就可以了,主要包括,选定密码强度,设置密码,确认密码,是否删除无密码用户,是否允许远程root登录,删除自带test数据库。

登录测试一下

?1mysql -u root -p

MySQL基本命令

虽然作为FE,我们最终选择了图形化管理工具Squel Pro,但是一些基本的命令还是需要掌握的。应用场景还是很多,比如,只是想做一个快速校验,或者是在他人电脑上,以及远程登录数据库时。

1、基本命令

?# 查看有哪些数据库show databases;# 查看当前使用的是哪个数据库select database();# 选择数据库use [database-name];# 显示数据库中的tablesshow tables;# 建立数据库CREATE DATABASE [new-database-name]; 作者:擦柱而出链接:http://www.jianshu.com/p/2fab19d96eb8來源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

2、新建用户。

?# 给localhost创建用户nodejs,并将密码设置为nodejscreate user 'nodejs'@'localhost' identified by 'nodejs';# 将用户权限信息从数据表同步到内存(此命令可以避免重启mysql服务)FLUSH PRIVILEGES; 作者:擦柱而出链接:http://www.jianshu.com/p/2fab19d96eb8來源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

3、授予权限。

接下来我们为当前应用创建一个名为nodejs的数据库,并将其权限全部赋予user nodejs.

?12CREATE DATABASE nodejs;GRANT ALL PRIVILEGES ON nodejs.* TO 'nodejs'@'%' IDENTIFIED BY 'nodejs';

Sequel Pro

Sequel Pro

登陆后软件界面如上图所示。可以简单看到如下功能:

左上角数据库选择,可以管理数据库

左侧栏TABLES,可以管理数据表

中间主要区域,可以管理数据表中数据。

右上角Users,可以管理用户。

右上角Console,可以方便运行Mysql命令。

安装

官网下载安装包后运行即可。

登录

界面如下,输入Host,Username,Password即可登录。此处建议使用新建的nodejs用户登录管理nodejs数据库。除建立新用户、给新用户授予权限外,为安全原因,不建议使用root用户。使用

登陆后点击右上角,可以看到选择数据库,新建数据库等等信息,就可以开始查看、管理数据库了。由于工具本身图形界面做的重点突出使用方便,此处不再赘述。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/563495.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ntext在mysql_varchar和text说不清的那些事

数据库定义到char类型的字段时,不知道大家是否会犹豫一下,到底选char、nchar、varchar、nvarchar、text、ntext中哪一种呢?结果很可能是两种,一种是节俭人士的选择:最好是用定长的,感觉比变长能省些空间&am…

win+mysql自动备份吗_Windows下mysql自动备份的最佳方案

网上有很多关于window下Mysql自动备份的方法,其实不乏一些不好的地方和问题,现总结出一个最好的方法供大家参考:新建一个记事本,然后重命名为: mysql_backup.bat 然后单击右键选择编辑,把下面的部分粘贴进来…

字符串转16进制_16、atoi-整数字符串转整数-leetcode8-中等

思路:借助正则表达式。class Solution:def myAtoi(self, s: str) -> int:import repattern re.compile(r^[-]?d) # 生成patterns s.lstrip() #去除左侧空格num_str pattern.findall(s) #找到pattern,返回一个listnum int(*num_str) #用*将list解…

python递归查找_[Python]递归查找文件(最简洁)

google了一下发现大多数人都是自己实现的,其实python标准库里是有相关方法的,更简洁,而且支持pattern匹配。其实自己实现也没多难,但是一个非常重要的经验告诉我,内置方法哪怕代码跟你的一模一样都会比你自己写的快很多…

vue移动端通过px动态计算图片宽高_vue图片宽高自适应_移动web图片高度自适应的解决方案...

由于图片的加载是在dom加载完成之后进行的,于是,在手机端浏览网页时,经常会看到页面刚打开时很多内容叠在一起,当图片加载完成后,页面会由于图片加载完成出现明显的抖动针对这个问题,有以下几种解决方案媒体…

多个数据文件 mysql_mysql多实例(多个配置文件方式)

CleverCode最近在研究mysql的多实例,发现有两种方式:第一种是使用多个配置文件启动不同的进程来实现多实例。这种方式的优势逻辑简单,配置简单,缺点是管理起来不太方便。第二种是通过官方自带的mysqld_multi。使用单独的配置文件来…

mysql 5.1版本无innodb trx_MySQL 5.7: Innodb 事务子系统优化-阿里云开发者社区

MySQL5.7 : Innodb 事务子系统优化之前写了篇博客介绍了Percona Server对Read View的优化,顺带简单提到了MySQL5.7的事务子系统优化,详细见http://mysqllover.com/?p834 。 另外一篇博客http://mysqllover.com/?p1087 也有所涉及。本文总体介绍了几个和…

mysql hex 和 c_什么是MySQL HEX()函数,它与CONV()函数有何不同?

实际上,HEX()函数将十进制或字符串值转换为十六进制值。转换后,MySQL返回该十六进制值的字符串表示形式。语法HEX(Num or Str)众所周知,HEX()函数可以转换数字或字符串,因此语法中的“ Num”表示要转换为十六进制的数字&#xff0…

mysql日期为00_MySQL 8.0.13 设置日期为0000-00-00 00:00:00时出现的问题

刚开始学习 数据库 操作,今天存数据时发现,保存的时候报错 (Error 1292: Incorrect datetime value: 0000-00-00 for column deleted_at at row 1),之后就搜索了下原因,是因为 MySQL存日期时不允许出现这种格式导致的。下面记录下…

MySQL编程技巧_MySQL学习笔记---MySQL开发技巧

SQL语句分类DDL:数据定义语言 --- CREATE、ALTER、DROP、TRUNCATETPL:事务处理语言 --- COMMIT、ROLLBACK、SAVEPOINT、SET TRANSACTIONDCL:数据控制语言 --- GRANT、REVOKEDML:数据操作语言 --- SELECT、UPDATE、INSERT、DELETEj…

cockroachdb mysql_CockroachDB学习笔记——[译]CockroachDB中的SQL:映射表中数据到键值存储...

CockroachDB学习笔记——[译]CockroachDB中的SQL:映射表中数据到键值存储原文标题:SQL in CockroachDB: Mapping Table Data to Key-Value Storage原作者:Peter Mattis , Tamir Duberstein原文日期:Sep 16, 2015译:zif…

kafka topic 目录存放在哪_Kafka系列文章之安装测试-第2篇

前言上篇文章讲解了 Kafka 的基础概念和架构,了解了基本概念之后,必须得实践一波了,所谓“实践才是检验真理的唯一办法”,后续系列关于 Kafka 的文章都以 kafka_2.11-0.9.0.0 为例;另外为了让大家快速入门,…

java开发分支_如何选择Java 的分支?

问题阐述听说Java 无所不能,从简单的手机游戏到世界500 强的官方网站都能开发,作为一名Java 的初学者,我该如何入手?专家解答自诞生之日起,Java 语言就处于不断的发展中。目前,其主要分为以下3 个分支。. J…

蚂蚁爬杆 java_java蚂蚁爬杆

import java.util.List;import java.util.ArrayList;import java.math.BigDecimal;/*-作者:volcano_hosan*-----------蚂蚁爬杆*有一根300厘米的细木杆,在第30厘米、80厘米、110厘米、160厘米、250厘米这五个位置上各有一只蚂蚁。*木杆很细,不能同时通过…

java制作加载界面_Java如何制作启动界面?

展开全部大概的思路就是使用线程来计算耗时的32313133353236313431303231363533e58685e5aeb931333337613133操作,在前段显示启动的窗口,示例如下:java 代码/** To change this template, choose Tools | Templates* and open the template in…

java 生成客户端代码_swagger-codegen生成java客户端代码

前后端分离的时候,需要建立契约,Swagger可达到该目的(略)。建立Rest接口后,通过swagger-codegen项目可以自动生成对应的客户端代码(c、php、java、js、node等等),关于swagger-codegen项目的使用,发现中文文档较少&…

mysql无法启动修复_记一次MySQL无法启动及修复经历

记得有次本地的MySQL无法启动,网上说,去删掉InnoDB日志就行,我就傻乎乎的去删掉了InnoDB相关的文件,果然,没有任何问题,正常启动了。可是谁曾想,过了几天,故障复现了,我就…

mysql的操作语句_Mysql最常用的操作语句收集

Mysql中常用语句简单易学springboot微服务是现在流行的框架,目前大多数做java的人都在使用,java的生态一直很好,各种插件各种第三方jar包推动着java的运行。Mysql是Springboot最常用的数据库,主要原因是Mysql免费而且轻量。考虑性…

java获取网络带宽_Linux Java 获取CPU使用率,内存使用率,磁盘IO,网络带宽使用率等等...

/*** 获取带宽上传下载速度* return*/public String getNetWorkSpeed() {boolean result false;String detailInfo "";DecimalFormat df new DecimalFormat("0.00");String dl "";String ul "";System.out.println("开始收集…

java周期_java 周期时期计算

package org.apple.date;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;/*** 周期时间* author shaoyu**/public class CycleDate {public static void main(String[] args) {SimpleDateFormat dateformatnew SimpleDateFormat("yy…