小编在安装 mysql 时不小心入坑,特发此贴!!

百度好久没有结果,重装虚拟机再试还是未果。。。。

废话不多说,进入正题。

首先要下载 mysql gz 的包 点这儿

进入该页面后,你可以下载最新版的 mysql 也可以下载历史版的(开心就好)

小编在找 glibc.gz 包的时候也找了好久,就是没有找到网上所说的那种,最后在这里发现了!看下图

下拉框中选择 Generic

centos gdb安装 centos安装gz文件_linux

这个就要根据 linux 版本来选择

centos gdb安装 centos安装gz文件_sed_02

这个 gz 就是网上说安装 mysql 的 gz 包

 

centos gdb安装 centos安装gz文件_centos gdb安装_03

偷偷告诉你们一个小秘密,之前下载 oracle 的东西,小编都要登录 oracle 的账号,是不是很苦恼?不知道最近是 oracle 良心发现?还是小编一直没有注意,反正 mysql 是不需要登录就可以下载的!!

centos gdb安装 centos安装gz文件_centos gdb安装_04

下面开始安装,

温馨提示:安装 mysql 需要 linux 中带 gcc 环境,所以没有 gcc 环境的小伙伴们,你们还要安装 gcc   o(╥﹏╥)o

小编前面的安装都是和网上的大致一样,小编为了保证帖子可信,自己新搭建虚拟机重新安装。。。。

 【首先解压 gz 包】

tar -zxvf 

centos gdb安装 centos安装gz文件_centos gdb安装_05

【移动】

将解压后的 mysql 文件全部移动到指定目录(不移动也无所谓)

mv mysql-5.7.23-linux-glibc2.12-x86_64/* /usr/local/mysql/

【添加 mysql 用户组、用户】

groupadd mysql

useradd -g mysql mysql

【修改目录所有者】

chown -R mysql:mysql /usr/local/mysql/

会看到下图

centos gdb安装 centos安装gz文件_mysql_06

 

【安装 mysql 】

切换到 mysql 的 bin 目录(看到如下)

centos gdb安装 centos安装gz文件_mysql_07

在这里执行安装操作

./mysql_install_db  --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

 如果发现有如下警告,表示该命令已经被弃用了(在 mysql 5.7 之后)

centos gdb安装 centos安装gz文件_linux_08

【新的安装方式】

./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

centos gdb安装 centos安装gz文件_mysql_09

这里如果遇到以下错误

./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

执行下面命令即可

yum install -y libaio 

注意小编特意圈起来的地方,这是你登录 mysql 的密码(没有留意也没关系,还有备份!! cat /root/.mysql_secret )

由于初始密码很复杂所以也容易出错,何不跳过验证??

在[mysqld]的段中加上一句:skip-grant-tables 大功告成

但是,现在还不能启动 mysql,需要修改一下 /etc/my.cnf 文件

初始状态

centos gdb安装 centos安装gz文件_mysql_10

修改后(小编为了保险起见,加了许多参数;也就是因为这些参数,小编才在安装 mysql 时入坑)

centos gdb安装 centos安装gz文件_centos gdb安装_11

[mysqld]
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
socket=/usr/local/mysql/temp/mysql.sock
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
user=mysql
#skip-grant-tables
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd

[client]
default-character-set=utf8
socket=/usr/local/mysql/temp/mysql.sock

[mysql]
default-character-set=utf8
socket=/usr/local/mysql/temp/mysql.sock


[mysqld_safe]
log-error=/usr/local/mysql/mariadb/mariadb.log
pid-file=/usr/local/mysql/mariadb/mariadb.pid

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

配置完成之后就可以启动了,有木有很激动呢!!

./mysql_safe --user=mysql &

centos gdb安装 centos安装gz文件_linux_12

如果有的小伙伴启动报错,请切换到 mysql 用户启动,再查看 my.cnf 文件中配置的路径是否都存在,如果不存在手动创建,所属必须是 mysql

此时 mysql 就已经安装成功,剩下的就是配置自启动和外部访问等操作了

小编在 my.cnf 中加入了跳过密码验证

centos gdb安装 centos安装gz文件_centos gdb安装_13

这里小编就不多做描述!!

请注意 my.cnf 配置文件,小编就是在这里入坑的!!

以上是小编在 linux 系统中安装 mysql 的经验!

如有写错的地方还希望大神多多指教!