CentOS7使用tar.gz包安装MySql的踩坑之旅
由于客户的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的踩坑之旅的更多相关文章
- 【mysql】mac上基于tar.gz包安装mysql服务
一.准备工作 (1)下载mysql-5.7.21-macos10.13-x86_64.tar.gz,并将该压缩包移动至/usr/local目录下 (2)解压压缩包 二.安装 (1)将解压的包重命名为m ...
- 安装mysql的踩坑之旅
近期的一个项目要求用mysql数据库,正好系统重装了,复习下mysql的安装,哪成想是踩了无数坑啊! 要安装首先自然是火速进官网下个安装包(下载地址https://dev.mysql.com/down ...
- CentOS7采用tar.gz包方式安装Mysql5.7
软件:VMware Linux版本:CentOS 7 一.安装mysql(采用tar.gz包安装Mysql5.7) 1.安装开发工具包 [root@localhost ~]# yum groups m ...
- Ubuntu16.04下通过tar.gz包安装MySQL5.5.52
1.下载 tar.gz包 : https://dev.mysql.com/downloads/mysql/ 2. // 安装依赖 sudo apt-get install libaio-dev // ...
- Centos系统通过tar.gz包安装Mysql5.7
1.安装mysql之前需要确保系统中有libaio依赖,使用如下命令: yum search libaio yum install libaio 2.进入centos终端操作界面,使用wget命令下载 ...
- linux 下 jdk tar.gz 包安装方法
JDK安装 tar.gz为解压后就可使用的版本,这里我们将jdk-7u3-linux-i586.tar.gz解压到/usr/local/下. 1.解压 解压到当前目录:$ tar -zxvf /opt ...
- jdk .tar.gz 包安装 inAction
方法参考于http://blog.sina.com.cn/s/blog_81631744010137iy.html, 多谢博主分享,此处仅作为个人学习笔记. 首先将*.tar.gz解压 tar -xz ...
- 记录一下安装 mysql 的踩坑之路
坑点: 1.旧的mysql没有删除干净.在安装mysql的时候,没有注意到,在输入 “mysqld install” 指令时跳出来 exits,存在于另一个文件夹之中,这影响了后来的很多操作,包括ro ...
- CentOS7使用tar.gz方法安装php7.2.8
软件:VMware 系统版本:CentOS7 1.检查系统里是否有安装的PHP包,如果有的话先删除 [root@localhost ~]# yum list installed | grep php ...
随机推荐
- div等高布局
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- QPainter绘制图片填充方式(正常大小、剪切大小、自适应大小、平铺)
Qt中QPainter提供了绘制图像的API,极大地方便了我们对图像的绘制. Qt中提供了QPixmap, QBitmap,QBitMapQImage,QPicture等图像绘图设备,它们的类关系如下 ...
- docker 部署mysql redis
先介绍利用的两个数据卷挂载的规则,这对于理解挂载mysql数据库存储非常有帮助. 如果挂载一个空的数据卷到容器中的一个非空目录中,那么这个目录下的文件会被复制到数据卷中. 如果挂载一个非空的数据卷到容 ...
- nginx rewrite模块
return 从0.8.42版本开始, return 语句可以指定重定向 url (状态码可以为如下几种 301,302,303,307), 也可以为其他状态码指定响应的文本内容,并且重定向的url和 ...
- maven 学习---Maven本地资源库
Maven的本地资源库是用来存储所有项目的依赖关系(插件jar和其他文件,这些文件被Maven下载)到本地文件夹. 很简单,当你建立一个Maven项目,所有相关文件将被存储在你的Maven本地仓库. ...
- Python从零开始——基本数据类型
- Linux 如何用命令查看binlog文件的创建时间
目录 背景 分析 方法 注意 背景 MySQL在26日 16:23:49产生了大量的慢查询,在这段时间内,binlog文件刷新的很快(查看慢日志是mysql DML并发比较多),想知道写完一个binl ...
- JavaScript中数组去重汇总
1. 简单的去重方法,利用数组的indexOf下标属性来查询 /* * 新建一新数组,遍历传入数组,值不在新数组就push进该新数组中 * IE8以下不支持数组的indexOf方法 * */ func ...
- 【GPU加速系列】PyCUDA(一):上手简单操作
PyCUDA 可以通过 Python 访问 NVIDIA 的 CUDA 并行计算 API. 具体介绍和安装可以参考 PyCUDA 官网文档和 pycuda PyPI. 本文涵盖的内容有: 通过 PyC ...
- 第06节-开源蓝牙协议BTStack框架分析
本篇博客根据韦东山的视频,整理所得. 本篇博客讲解BTStack的框架,首先来看一下硬件的结构: 蓝牙模块接在电脑上,或是接在开发板上.不论接在哪,我们都需要编写程序来控制这个蓝牙模块. . 我们需要 ...