1 下载mysql
2 上传到服务器
rz 使用secureCRT,我这里上传到 了 /opt/下
3 加压
3.1 tar -zxvfmysql-8.0.11-linux-glibc2.12-x86_64.tar.gz
3.2 在MySQL根目录下新建一个文件夹data,用于存放数据
mkdir data
3.3创建 mysql 用户组和 mysql 用户
groupadd mysql
useradd -g mysql mysql
3.4.改变 mysql 目录权限
chown-Rmysql.mysql/usr/local/mysql/
或者
chown -R mysql .
chgrp -R mysql .
3.5 初始化mysql
出现上面的错误是因为没有安装libnuma.so.1
解决办法:
1.如果已经安装了libnuma.so.1,先yum removelibnuma.so.1
2.yum install numactl.x86_64
安装成功后,再次执行
[root@VM_0_15_centosbin]#./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
注意:在很多的安装中会遇到./bin/mysql_install_db–user=mysql–basedir=/usr/local/mysql/–datadir=/usr/local/mysql/data/
但是我使用的mysql8.0.11,在解压的目录中,没有data文件下,也没有script文件夹,bin下没有mysql_install_db
所以,我手动创建data文件,然后使用上面标红的部分初始化mysql数据库。
4 初始化后
-------------上面是我按照网上找的资料去安装的,但是也遇到了很多问题,以至于没有安装成功,下面我做了一些总结,然后在说安装成功的步骤--------------------
第一、 我首先说下我的安装大致过程,因为从mysql官网下了mysql的二进制安装包后,我直接在linux上进行了解压,并按照一般步骤去安装,但是我遇到了网上能成功安装,但是我的却失败,失败的原因还不止一个,其一,我下载的是最新版本,对于安装小白的我就没思考的上网找教程,然后去按照网上的去安装,结果可把我坑惨啦。根本就没考虑到安装版本的事,后来注意到了版本,也有部分博客安装的教程版本和我的一致,但是,我就不知道他们怎么会有我从官网下载没有的文件和指令。这就让我怀疑人生啊,结果没法进行下去啦,后来就结合多个安装版本来尝试是否能够成功,结果还是失败,这可就让我开始怀疑了自己的智商啊。不过这个过程也确实学到了不少东西。后来真没招了,就想到了,官方文档。不过也是遇到了一些坑,可是结果我成功啦。总结下,对于网上资料较少的资源,我建议最靠谱的还是官网的文档,省的自己进坑出不来。废话少说,下面进入具体的实现过程
第二、安装过程
1 找到官网的安装文档,因为我们下载的是linux的通用版,所以,找到linux的安装过程
https://dev.mysql.com/downloads/mysql/在该地址的
这个就是在线文档的进入口,然后点击进入第一个8.0的,在左侧找到安装过程
然后点击进去,找打linux安装通用版
https://dev.mysql.com/doc/refman/8.0/en/binary-installation.html,在这个地址中就有了安装的过程。不过我还是会吧我本地安装的流程给描述一遍。也好让看到的人能和我一样实战一下。
第三 linux上安装的具体教程
先复制下mysql官网的安装过程,其实在官网上还有一些前置条件,就是先检查下自己服务器是不是有默认mysql,如果有请卸载,至于卸载请百度教程,这个很多,我就不说啦。
shell> groupadd mysql #创建组 mysql
shell> useradd -r -g mysql -s /bin/false mysql #创建用户mysql 并赋予mysql组 和启动shell脚本
shell> cd /usr/local #切换到/usr/local目录,这个目录是我们解压后的mysql包放置的位置,即默认安装位置
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz # 解压
shell> ln -s full-path-to-mysql-VERSION-OS mysql #为解压的文件建立一个短接的软连接 mysql,后面的目录mysql就代表了解压的安装文件包
shell> cd mysql
shell> mkdir mysql-files #在进入mysql目录后,创建一个mysql-files目录,后面对该目录赋予权限
shell> chown mysql:mysql mysql-files #更改mysql-files的用户组和用户
shell> chmod 750 mysql-files #为mysql-files目录赋予750权限。这个不懂的可以查看linux的chmod命令
shell> bin/mysqld --initialize --user=mysql #然后初始化mysql,这一步初始化会自动创建网上手动创建的data文件
shell> bin/mysql_ssl_rsa_setup #加密连接
shell> bin/mysqld_safe --user=mysql & #启动安全用户,如果是root用户登录,那么需要指定后面的 --user=mysql用户
# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server #复制
其实上面的教程很全,只是我按照自己的步骤调整了下顺序,如下
1 下载好解压包后,上传到 /opt/devTool/下
2 在该目录下进行解压
2.1 进入 cd /opt/devTool
2.2 查看目录下的列表 ll
2.3 对上面标红的部分进行解压
tar -zxvf mysql-***.tar.gz 根据自己的实际名称输入解压,过程如下
解压完成后,会多出一个文件,如下图
下一步就是要把该mysql-8.0.11-linux-glibc2.12-x86_64 移动或者复制到 /usr/local下面,因为在官网中会有这么个操作过程。
命令:mvmysql-8.0.11-linux-glibc2.12-x86_64 /usr/local/mysql
在/usr/local下面就会有一个mysql的目录,里面的内容就是mysql-8.0.11-linux-glibc2.12-x86_64的内容。我们会看到mysql下的目录是和官网的目录列表一致
这里面并没有data目录,很多教程说可以手动创建,其实不用,
shell> bin/mysqld --initialize --user=mysql #然后初始化mysql,这一步初始化会自动创建网上手动创建的data文件
该指令会帮助我们创建,不过不是现在使用,请继续…
然后执行以下命令,
shell> groupadd mysql #创建组 mysql
shell> useradd -r -g mysql -s /bin/false mysql #创建用户mysql 并赋予mysql组 和启动shell脚本
//下面的指令的执行 是需要在cd /usr/localhost/mysql目录下的时候,否则你需要切换到这个目录
shell> mkdir mysql-files
shell> chown mysql:mysql mysql-files
shell> chmod 750 mysql-files
shell> bin/mysqld --initialize --user=mysql
shell> bin/mysql_ssl_rsa_setup
shell> bin/mysqld_safe --user=mysql &
# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server
这样执行完后,我们就可以看到在mysql目录下会创建一个data目录。
然后我们开始启动mysql服务
service mysql start 但是却遇到了如下的问题,启动失败,然后让使用systemctl status mysql.server.service 和 journalctl -xe 指令查看出错的原因,
systemctl status mysql.server.service
然后在重启mysql服务,但是并没有我理想的那样,还是失败,我仍然按照提示执行了systemctl status mysql.server.service指令,我就开始分析这个指令里面的提示信息
后来发现了mysql的启动错误日志文件,然后我就根据提示进入到了这个文件
我开始进入mysql的打印日志文件,/usr/local/mysql/data/vm_**,如图
然后在启动mysql服务就可以啦。
成功
因为我之前在安装的时候也遇到了这个问题,后来才找到这个错误日志,可能是我太笨,没能及时想到,希望有在安装的过程中,也遇到类型的问题,还是想办法找到错误点
然后避免少走弯路,到这里就安装成功了,其他的mysql登录就可以按照正常的步骤走啦