mac mysql tar包安装_mac上mysql8.0以tar.gz方式手动安装

本文详细介绍了如何在Mac上通过tar.gz文件手动安装MySQL 8.0,包括下载、解压、设置权限、初始化数据库、启动MySQL、修改密码以及解决8.0版本的认证问题。同时,还介绍了MySQL 8.0新引入的over()窗口函数和row_number()函数的使用方法。
摘要由CSDN通过智能技术生成

一、下载

选择:macOS 10.14 (x86, 64-bit), Compressed TAR Archive

下载后,得到一个131.9m的压缩包 mysql-8.0.13-macos10.14-x86_64.tar.gz,将其解压到/usr/local/下,并重命名为mysql (即:最后的完整目录应该是/usr/local/mysql)

二、调整目录权限

cd /usr/local

chown -R 当前登录mac的管理员用户名 mysql

这一步的目的,主要是保证/usr/local/mysql下可以写入数据

三、初始化数据库

cd /usr/local/mysql/bin

sudo ./mysqld --initialize --user=mysql

2018-12-01T14:42:12.002186Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.13) initializing of server in progress as process 4229

2018-12-01T14:42:12.004783Z 0 [Warning] [MY-010159] [Server] Setting lower_case_table_names=2 because file system for /usr/local/mysql/data/ is case insensitive

2018-12-01T14:42:12.006285Z 0 [Warning] [MY-010122] [Server] One can only use the --user switch if running as root

2018-12-01T14:42:14.187443Z 5 [Note] [MY-010454] [Server] A temporary password is generated for [email protected]: iM46X&03qRc_

2018-12-01T14:42:15.427614Z 0 [System] [MY-013170] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.13) initializing of server has completed

注意蓝色标出的部分,初始化过程中,会生成一个随机的root初始密码,记好这个,后面会用到。

如果没记下这个密码,导致后面无法登录,可以rm -rf /usr/local/mysql/data/* 把所有文件干掉,再来一把。

四、启动mysql

cd /usr/local/mysql/support-files

./mysql.server start (注:类似的status为查看状态,stop为停止服务)

Starting MySQL

. SUCCESS!

看到这个SUCCESS就表示启动成功了。

五、修改密码

cd /usr/local/mysql/bin

./mysqladmin -u root -p password

初始密码实在太难记了,可以用上面的命令先改一下 (注:密码要满足复杂性要求,比如Www.123.abc之类)

这一步做完后,应该就可以用

./mysql -u root -p

命令行终端登录了,不过8.0貌似安全策略做了调整,用navicat之类的工具连接,会出现:

Client does not support authentication protocol requested by server; consider upgrading MySQL client

之类的错误,解决方法:

use mysql

ALTER USER ‘root‘@‘localhost‘ IDENTIFIED WITH mysql_native_password BY ‘新密码‘;

FLUSH PRIVILEGES;

然后应该就可以了。

六、mysql 8新增的一些函数

6.1 over()开窗函数

over开窗函数,在oracle中早就有了,但是mysql直到8.0+才开始支持,参考文档见:https://dev.mysql.com/doc/refman/8.0/en/window-functions-usage.html,它的作用有点类似于将"聚合结果行转列", 具体参考下面的示例(来自官网)

20181202130748238789.png

如上图,这是一张销售记录表,上面记录了"某一年、某个国家、某种产品"的销售利润。如果我们要分析,每一行销售记录,在本年/本国/本类产品/甚至所有销售中的贡献度(即:所占百分比)。按传统思路,至少得先汇总出 "每年的总销售金额,每个国家的总销售金额,每类产品的总销售金额...",然后用本行的profit去除这些汇总值,才能计算出百分比。

有了over函数后,就可以很简单了:

SELECT

YEAR ‘年份‘ ,

country ‘国家‘ ,

product ‘产品‘ ,

profit ‘产品利润‘ ,

SUM(profit) OVER(PARTITION BY country ,YEAR ,product) AS ‘年度-某国家-某产品-利润小计‘ ,

SUM(profit) OVER(PARTITION BY country , YEAR) AS ‘年度-某国-利润小计‘ ,

SUM(profit) OVER(PARTITION BY country) AS ‘某国-利润小计‘ ,

SUM(profit) OVER(PARTITION BY YEAR) AS ‘年度-利润小计‘ ,

SUM(profit) over() AS ‘利润合计‘

FROM

sales

ORDER BY

YEAR ,

country ,

product ,

profit;

结果如下:

20181202130748460468.png

各种聚合结果,可以方便的展示在同一行,如果要输出百分比,直接拿"利润"这一栏,除以后面某一列汇总值即可。

6.2 row_number()函数

这个函数同样也是从oracle模仿过来的,用法如下:

select

row_number() over w as ‘No.‘ ,

year ,

country ,

product ,

profit

from

sales

where

year = 2001 window w as(order by country)

order by country

输出:

20181202130749155781.png

mysql-5.6.25.tar 含两个文件: - mysql-5.6.25.tar.gz Generic Linux (Architecture Independent), Compressed TAR Archive MD5: 37664399c91021abe070faa700ecd0ed -install.txt: 安装方法 首先解压mysql-5.6.25.tar: $ tar xf mysql-5.6.25.tar ------------------ Mysql 源码安装操作: 1. 创建用户 # groupadd mysql # useradd -g -r mysql mysql 2. 解压缩tar # tar xf mysql-5.6.25.tar.gz # cd mysql-5.6.25 3. 编译安装 # cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ > -DDEFAULT_CHARSET=gbk \ > -DDEFAULT_COLLATION=gbk_chinese_ci \ > -DENABLED_LOCAL_INFILE=ON \ > -DWITH_INNOBASE_STORAGE_ENGINE=1 \ > -DWITH_FEDERATED_STORAGE_ENGINE=1 \ > -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ > -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \ > -DWITH_DEBUG=0 \ > -DMYSQL_TCP_PORT=3306 # make # make install 4. 配置以及初始化MySQL # cd /usr/local/mysql 4.1 设置MySQL安装目录的权限 # chown -R mysql:mysql /usr/local/mysql 4.2 初始化MySQL # scripts/mysql_install_db --user=mysql # cp support-files/mysql.server /etc/init.d/mysqld 4.3 重新设置MySQL安装目录的权限(除data目录外,其余所有目录及文件均修改用户为root,组不变) # chown -R root . # chown -R mysql data 4.4 启动mysql_safe # bin/mysqld_safe --user=mysql & 4.5 设置MySQL的root帐号密码 - 自动设置:# ./bin/mysql_secure_installation 或 - 手动置:# ./bin/mysqladmin -u root password '' ------------------ 操作详情参看: https://github.com/Marslo/MyBlog/blob/master/Programming/MySQL/MySQLInstallationBySourceCode.md MySQL6源码安装官方手册: http://dev.mysql.com/doc/refman/5.6/en/installing-source-distribution.html ------------------ 资源为英文,下载请谨慎
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值