这只可耐的“小孩疼”充斥了我目前的整个实习生涯。
今天作为我装MySQL的第N次尝试,坐在电脑前,等待小孩疼下载安装的憩时,默默码下这些天跟MySQL的爱恨情愁。
关于MySQL,想来能有兴趣点开我这篇文章的伙计大概是不需要我介绍什么是MySQL了。今天主要讲的是关于安装MySQL的过程。当然,肯定不是简单的Windows系统装MySQL,而是Macbook装MySQL以及CentOS7.0、Ubuntu16系统装MySQL。看到这里就大概了解了,作者已经在各种不同的系统版本下装过MySQL无数次,也随之而来踩过无数次坑,遇到无数次bug,查查补补能安装成功也算幸事。
一、Macbook下使用MySQL或navicat Premium
Macbook说用户体验,的确很好,但是就市面的一些出名软件,能做到有mac版本的都会有,实在没有的,咱们用户也没办法,所以其实在大学中,众多需要windows系统下才能使用的软件,我压根没用过,例如Visio,例如PowerDesigner,尽管mac版本有不同的代替品,不过体验都是不一样的嘛。
1. MySQL在Macbook上的安装
网上其实一大批博文,我这里给大家介绍一篇
references:mac安装mysql的两种方法(含配置)
这里就涉及到Oracle的使用啦,身为一只假的程序员,Oracle课程学习是必备的,那么Macbook拥有者,如何快速实现使用Oracle进行数据库操作呢,这个就更简单了。安装Navicat Premium,关于付费、试用、破解,当然是鼓励支持正版,但你要实在能找到破解版且愿意使用也不能强迫你。
在我们进行相关课程学习时,大部分同学都是使用学校机房搭建好的透明实验室,使用账号连接即可,当然机房不开放了你就用不了了,所以我选择了一种投机取巧的方式。
1. 安装Navicat Premium
2.连接某同学已经配置好的能使用Oracle的服务器
3.选择新建数据库,并选择Oracle类型,大功告成!
注意:使用这种骚操作的同学会发现,你无法进行授权、新建用户或涉及权限的操作,这个问题我并没有去解决,所以也没法给出解决方案。Navicat Premium不仅支持Oracle、MySQL、PostgreSQL、SQL server、MariaDB、SQLite等,基本是一app在电脑,各种数据库操作都能试试了。
二、MySQL5.7在ubuntu16下的安装
reference:ubuntu-16.04源码编译安装mysql-5.7.17
讲真,我大概是个被上帝诅咒的天使,安装MySQL能遇到各种问题,诸如上看贴的文章的安装方式,我硬是一步一个铁坑,头铁少女从cmake的bug坑好不容易走到make install complete,结果测试启动失败,over~ 源码安装方式失败。
最后又重新找合适的博文,目前正在安装中....
reference: 安装Percona Server 5.7
源码安装步骤:
1.如果你暂未在ubuntu 系统中安装git,那么你就需要使用 git 命令查询你是否安装了git 如果没有安装则输入 sudo apt-get install git
2. $输入 git clone https://github.com/percona/percona-server.git
3. $输入 cdpercona-server
4. $输入 git checkout5.7
5.$输入 git submodule init
6.$输入 git submodule update
7.$输入 cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_CONFIG=mysql_release -DFEATURE_SET=community -DWITH_EMBEDDED_SERVER=OFF
8.$输入 make
9.$输入 make
其中,你可能会遇到:
️运行cmake语句时
此时只需 rm.CMakeCache.txt
然后重新运行cmake语句
️解决上面的问题后,运行cmake,又有错误,what the f**k???
如图所示,当前你确实boost1.59.0版本的boost库,那能有什么办法呢,只能继续找解决办法,毕竟“现在的我比之前的我更有智慧”。
解决方案:
️在ubuntu系统联网下载boost1.59.0版本库文件
直接在浏览器输入 https://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz/download
然后移动到percona文件夹
cd percona-server
在原有的cmake语句中加入 -DWITH_BOOST=boost_1_59_0.tar.gz 其实就是指定boost所在目录,这时候如果你之前没有安装ncurses,则会报错,让你进行安装,当然还有很多需要安装的库文件,这里我就只放我遇到缺少的库文件啦!
sudo apt-get install libncurses5-dev libncursesw5-dev libreadline-gplv2-dev zlibc zlib1g-dev 基本使用sudo apt-get install 要安装的库名 就可以完成。
这里有个小窍门,还是我大哥后面手把手教学告诉的我,在cmake时先尽量不要加很多参数,要慢慢来,因为这样你才会知道你缺少哪些库了。
这里大家可以直接使用ccmake命令,进行可视化查看缺少哪些库文件,有时候会遇到类似xplugin变量找不到的情况,这时候使用ccmake命令,你会发现可能是你某个test选项打开了,只需要调整为off就可以啦,按c命令可以实时刷新你下载的库文件。
大功告成!
三、MySQL8.0在ubuntu16.04系统下的安装
就我目前的安装经验,果不其然,源码安装肯定会报一大堆错误,系统也重装过好几次了,于是我在网上找到了一篇巨简单的二进制安装方式。
reference:Installing MySQL 8.0 on Ubuntu 16.04 LTS in Five Minutes
1. wget https://dev.mysql.com/get/mysql-apt-config_0.8.10-1_all.deb
2. sudo dpkg -i mysql-apt-config_0.8.10-1_all.deb
3. sudo apt-get update
4. sudo apt-get install mysql-server
最后在/etc/my.cnf文件中添加一句“ +skip-grant-tables” 用于跳过用户的权限检查即可
关于后面的用户设置和密码之类的在此就不复述了,广大的网友的力量总是强大的。
四、MySQL+RocksDB在ubuntu16.04系统下的安装
reference:
https://www.percona.com/doc/percona-server/LATEST/myrocks/install.html
1. wget https://repo.percona.com/apt/percona-release_0.1-6.$(lsb_release -sc)_all.deb
2. sudo dpkg -i percona-release_0.1-6.$(lsb_release -sc)_all.deb
3. sudo apt-get update
4. sudo apt-get install percona-server-server-5.7
五、MySQL5.6+RocksDB在CentOS7系统下的安装
首先,很失望的告诉读者,读到这里,我大概知道你是特意需要在centos7下使用MyRocks的,但是我只能遗憾的告诉你,我并没攻关成功,不知道是因为centos7下面安装失败多次,文件太多版本更新之类的问题还是其他,导致最后报出了我无法在网上查询到解决方案的错误。所以最后也没有安装成功。
以下是参考内容:
reference:AliOS编译安装MyRocks
1.安装必要的依赖包:
sudo yum install cmake gcc-c++ bzip2-devel libaio-devel bison zlib-devel snappy-devel
sudo yum install gflags-devel readline-devel ncurses-devel openssl-devel lz4-devel gdb git
关于gflags和lz4、zstd依赖包的下载可是费尽了我的脑细胞,最后整理原因,大概就是英语没学好的锅吧。
️gflags安装:
cd mysql-5.6
git clone https://github.com/gflags/gflags.git
sudo apt-get install libgflags-dev
$ tar xzf gflags-$version-source.tar.gz
$ cd gflags-$version
$ mkdir build && cd build
$ ccmake ..
$ make
️lz4安装
同理安装
然后cd到lz4所在目录 然后直接
$ make
$ make install
完成这两步之后,如果你的电脑疯狂报错提示你zstd包不存在,那么你就需要好好看好我下面写的了。
️reference: https://github.com/facebook/zstd
首先切换到mysql目录下
git clone https://github.com/facebook/zstd.git
make
make install
make check
然后就继续博客的内容:
1. git clone https://github.com/facebook/mysql-5.6.git
2. cd mysql-5.6
3. git submodule init
4. git submodule update
5. cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo -DWITH_SSL=system -DWITH_ZLIB=bundled -DMYSQL_MAINTAINER_MODE=0-DENABLED_LOCAL_INFILE=1
6. make-j8
7. make install 指定文件夹
然后启动可能会遇到sock文件不存在呀,找不到pid、mysqld文件啊诸如此类的,到时候在网上查找解决方案即可。
希望以上内容对大家有所帮助。
po一篇长文,也为自己转战PM秋招积累人品。欢迎骚扰~