由于客户的CentOS服务器没有安装yum工具,只能通过下载tar.gz包安装mysql,于是跟着万能的百度开启了漫漫踩坑之旅:

1、下载mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz

2、解压到/usr/local/文件夹下,并改名为mysql

3、添加mysql用户组和mysql用户

groupadd mysql
useradd -r -g mysql mysql

4、进入mysql文件夹

5、修改当前目录拥有者为刚才新建的mysql用户:

chown -R mysql:mysql ./

6、复制默认全局启动参数配置文件到/etc目录:

网上的教程说是

cp ./support-files/my-medium.cnf  /etc/my.cnf

结果发现support-files目录下根据没有my-medium.cnf文件;于是继续百度、google,最终用下面的方式解决:

先修改support-files/my-default.cnf文件,在文件中增加:

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock [mysqld]
skip-name-resolve
#设置3306端口
port =
socket=/var/lib/mysql/mysql.sock
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=
# 服务端使用的字符集默认为utf8字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_name=
max_allowed_packet=16M

然后复制到/etc下,并改名为my.cnf:

cp ./support-files/my-default.cnf  /etc/my.cnf

7、执行安装包中自带脚本,安装数据库:

./scripts/mysql_install_db --user=mysql

结果报错(具体错误我也忘了),安装不下去,改为:

./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql

可以往下装了,但是又报错:Can't find messagefile /usr/share/mysql/errmsg.sys

网上有解决方案是在my.conf文件的[mysqld]部分增加一句:

language = /usr/local/mysql/share/english

但是不起作用,错误依旧。后来我把/user/local/mysql/share/english文件夹下的errmsg.sys文件复制到/usr/share/mysql/下,问题解决,终于装上了。

8、修改当前目录拥有者为root用户,修改data目录拥有者为mysql用户

chown -R root:root ./
chown -R mysql:mysql data

9、启动mysql

sudo /usr/local/mysql/support-files/mysql.server start

10、修改root密码

./bin/mysqladmin -u root password '密码'

11、部署应用后,发现mysql命令可以连接,但是jdbc连不上mysql,经过一番折腾,发现是授权问题,给root授权访问localhost的权限:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost'IDENTIFIED BY '' WITH GRANT OPTION;
FLUSH PRIVILEGES;

神奇的是授权后还是不行,查看mysql的user表:

SELECT user,host,password FROM mysql.user;

发现root访问localhost、127.0.0.1、%的密码居然不一样,修改:

UPDATE mysql.user SET password=PASSWORD('密码') WHERE user='root';

重启mysql,终于jdbc也可以正常连接了;

12、 把mysql添加到环境变量:

vi /etc/profile

在文件中增加

export MYSQL_HOME=/usr/local/mysql

export PATH=$PATH:$MYSQL_HOME/bin

让修改生效

source /etc/profile

13、这时再使用mysql命令行连接时又报错:Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

查看my.cnf,发现配置了socket=/var/lib/mysql/mysql.sock,于是执行下面的命令创建一个软连接后解决:

ln -s /var/lib/mysql/mysql.sock /var/lib/mysql/mysql.sock

CentOS7使用tar.gz包安装MySql的踩坑之旅的更多相关文章

  1. 【mysql】mac上基于tar.gz包安装mysql服务

    一.准备工作 (1)下载mysql-5.7.21-macos10.13-x86_64.tar.gz,并将该压缩包移动至/usr/local目录下 (2)解压压缩包 二.安装 (1)将解压的包重命名为m ...

  2. 安装mysql的踩坑之旅

    近期的一个项目要求用mysql数据库,正好系统重装了,复习下mysql的安装,哪成想是踩了无数坑啊! 要安装首先自然是火速进官网下个安装包(下载地址https://dev.mysql.com/down ...

  3. CentOS7采用tar.gz包方式安装Mysql5.7

    软件:VMware Linux版本:CentOS 7 一.安装mysql(采用tar.gz包安装Mysql5.7) 1.安装开发工具包 [root@localhost ~]# yum groups m ...

  4. Ubuntu16.04下通过tar.gz包安装MySQL5.5.52

    1.下载  tar.gz包 : https://dev.mysql.com/downloads/mysql/ 2. // 安装依赖 sudo apt-get install libaio-dev // ...

  5. Centos系统通过tar.gz包安装Mysql5.7

    1.安装mysql之前需要确保系统中有libaio依赖,使用如下命令: yum search libaio yum install libaio 2.进入centos终端操作界面,使用wget命令下载 ...

  6. linux 下 jdk tar.gz 包安装方法

    JDK安装 tar.gz为解压后就可使用的版本,这里我们将jdk-7u3-linux-i586.tar.gz解压到/usr/local/下. 1.解压 解压到当前目录:$ tar -zxvf /opt ...

  7. jdk .tar.gz 包安装 inAction

    方法参考于http://blog.sina.com.cn/s/blog_81631744010137iy.html, 多谢博主分享,此处仅作为个人学习笔记. 首先将*.tar.gz解压 tar -xz ...

  8. 记录一下安装 mysql 的踩坑之路

    坑点: 1.旧的mysql没有删除干净.在安装mysql的时候,没有注意到,在输入 “mysqld install” 指令时跳出来 exits,存在于另一个文件夹之中,这影响了后来的很多操作,包括ro ...

  9. CentOS7使用tar.gz方法安装php7.2.8

    软件:VMware 系统版本:CentOS7 1.检查系统里是否有安装的PHP包,如果有的话先删除 [root@localhost ~]# yum list installed | grep php ...

随机推荐

  1. Struts2处理(jQuery)Ajax请求

    1. Ajax     Ajax(Asynchronous JavaScript and XML,异步JavaScript和XML)时一种创建交互式网页应用的网页开发技术,它并不是一项新的技术,其产生 ...

  2. Nuxt中使用Vant,完成通知栏Notify的提示

    第一次移动端开发,UI方面选择了使用vant框架,但是vant官网写的使用,在nuxt项目中照搬官方的实例,各种报错,所以还得靠自己(使用方法在最后) 官方实例: 方法一:直接复制粘贴的时候,报错No ...

  3. day 48

    目录 js BOM(浏览器对象模型) window对象 window子对象 弹出框 计时事件 DOM(文档对象模型) 查找标签 节点操作 事件 常用事件 绑定方式 jQuery jQuery介绍 jQ ...

  4. 移动端调试神器vconsole,手机端网页的调试工具Eruda

    移动端调试神器vconsole,手机端网页的调试工具Eruda 移动端中使用 vConsole调试 移动端调试工具vconsole安装Git地址:https://github.com/WechatFE ...

  5. Linux发展史与安装-Linux从入门到精通第一天(非原创)

    文章大纲 一.Linux发展史二.Linux系统的安装三.Linux系统的文件四.学习资料下载五.参考文章   一.Linux发展史 1. Linux前身-Unix 1968年 Multics项目MI ...

  6. mysql在windows(含客户端工具)及linux(yum)环境下安装

    下载 地址:https://dev.mysql.com/downloads/ windows安装包下载 linux安装包下载 https://dev.mysql.com/downloads/mysql ...

  7. 架构篇 | 带你轻松玩转 LAMP 网站架构平台(一)

    作者 | JackTian 微信公众号 | 杰哥的IT之旅(ID:Jake_Internet) 转载请联系授权(微信ID:Hc220066)备注:来自博客园 1.什么是 LAMP 架构? LAMP 架 ...

  8. STM32F10x之NVIC

    转载自:https://www.jianshu.com/p/3aa5997fe794 1 异常类型 Cortex-M3内核具有强大的异常响应系统,它把能够打断当前代码执行流程的事件分为异常(excep ...

  9. 接口测试中,数据驱动时,参数各类型,空或None的处理

    天天说接口测试,天天说数据驱动,但网上的各种教程太烂,遇到实际情况就傻眼了. 来来来,我们看一个例子 假设,有下面这样一个接口,获取用户信息,可以带的参数如下: 用户名(uname) str(),非必 ...

  10. node开发遇到类似:Error: ENOENT: no such file or directory, scandir 'D:\work\taro-components- ....... _node-sass@4.12.0@node-sass\vendor

    唯一的有参考价值的文章,https://www.cnblogs.com/milo-wjh/p/9175138.html 我可以负责任的说,以下的方法, npm rebuild node-sass 80 ...