最近尝试在Linux中安装了解压版MySQL,期间查阅了许多博客。很多博客看得我很懵逼,因此记录下自己的安装过程,方便后续查阅。
        环境说明:CentOs7.2

一、清理老的mysql

(1)卸载已有的mysql
         查找以前是否装有mysql命令:
rpm -qa|grep -i mysql
1
 
1
rpm -qa|grep -i mysql
         停止mysql服务,卸载之前安装的mysql
 rpm -ev 包名
1
 
1
 rpm -ev 包名
         如果卸载过程中报依赖错误,直接在卸载命名后面加参数 --nodeps
  rpm -ev 包名 --nodeps  
1
 
1
  rpm -ev 包名 --nodeps  
(2)查找之前老版本mysql的文件并删除老版本mysql的文件
 find / -name mysql
# 出来一堆列表
# 一个一个删除就ok
3
 
1
 find / -name mysql
2
 # 出来一堆列表
3
 # 一个一个删除就ok

二、安装前的准备

(1)安装mysql之前需要确保系统中有libaio依赖
yum search libaio
yum install libaio
2
 
1
yum search libaio 
2
yum install libaio 
(2)下载安装包(tar.gz的包,非rpm和yum)
cd /usr/
mkdir database
cd database
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.22-el7-x86_64.tar.gz
4
 
1
cd /usr/
2
mkdir database
3
cd database
4
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.22-el7-x86_64.tar.gz
(3)解压
tar -zxvf mysql-5.7.22-el7-x86_64.tar.gz
mv mysql-5.7.22-el7-x86_64 mysql5.7 #重命名为mysql5.7
2
 
1
tar -zxvf mysql-5.7.22-el7-x86_64.tar.gz 
2
mv mysql-5.7.22-el7-x86_64 mysql5.7 #重命名为mysql5.7

三、安装

(1)添加用户和组
#添加用户组
groupadd mysql
#添加用户mysql 到用户组mysql(使用-r参数表示mysql用户是一个系统用户,不能登录)
useradd -r -g mysql mysql
#添加完用下面命令测试,能看到mysql用户的信息
id mysql
6
 
1
#添加用户组
2
groupadd mysql
3
#添加用户mysql 到用户组mysql(使用-r参数表示mysql用户是一个系统用户,不能登录)
4
useradd -r -g mysql mysql
5
#添加完用下面命令测试,能看到mysql用户的信息
6
id mysql
(2)手动创建MySQL data目录
cd /usr/database/mysql5.7/
mkdir data
2
 
1
cd /usr/database/mysql5.7/
2
mkdir data
(3)目录权限设置
将mysql及其下所有的目录所有者和组均设为mysql
chown -R mysql:mysql /usr/database/mysql5.7/
查看是否设置成功,执行下面命令,可以看到文件的所有者和组都变成了mysql
cd /usr/database/
ll
结果中出现:drwxr-xr-x 10 mysql mysql 4096 Jul 3 13:57 mysql5.7
6
 
1
将mysql及其下所有的目录所有者和组均设为mysql
2
    chown -R mysql:mysql /usr/database/mysql5.7/
3
查看是否设置成功,执行下面命令,可以看到文件的所有者和组都变成了mysql
4
    cd /usr/database/
5
    ll
6
结果中出现:drwxr-xr-x 10 mysql mysql      4096 Jul  3 13:57 mysql5.7
(4)配置my.cnf文件
此文件非常重要,初始化之前要把此文件放到 /etc 目录下
rm -rf /etc/my.cnf
vim /etc/my.cnf
#此文件内容如下(路径根据自己的实际情况):
[client]
port = 3306
socket = /tmp/mysql.sock [mysqld]
init-connect='SET NAMES utf8'
basedir=/usr/database/mysql5.7 #根据自己的安装目录填写
datadir=/usr/database/mysql5.7/data #根据自己的mysql数据目录填写
socket=/tmp/mysql.sock
max_connections=200 # 允许最大连接数
character-set-server=utf8 # 服务端使用的字符集默认为8比特编码的latin1字符集
default-storage-engine=INNODB # 创建新表时将使用的默认存储引擎
x
 
1
rm -rf /etc/my.cnf
2
vim /etc/my.cnf
3
#此文件内容如下(路径根据自己的实际情况):
4
[client]
5
port = 3306
6
socket = /tmp/mysql.sock
7

8
[mysqld]
9
init-connect='SET NAMES utf8'
10
basedir=/usr/database/mysql5.7              #根据自己的安装目录填写 
11
datadir=/usr/database/mysql5.7/data     #根据自己的mysql数据目录填写
12
socket=/tmp/mysql.sock
13
max_connections=200             # 允许最大连接数
14
character-set-server=utf8           # 服务端使用的字符集默认为8比特编码的latin1字符集
15
default-storage-engine=INNODB           # 创建新表时将使用的默认存储引擎
(5)初始化mysql
/usr/database/mysql5.7/bin/mysqld --initialize-insecure --user=mysql  --basedir=/usr/database/mysql5.7 --datadir=/usr/database/mysql5.7/data
#注意:mysqld --initialize-insecure初始化后的mysql是没有密码的
#重新修改下各个目录的权限
chown -R root:root /usr/database/mysql5.7/ #把安装目录的目录的权限所有者改为root
chown -R mysql:mysql /usr/database/mysql5.7/data/ #把data目录的权限所有者改为mysql
5
 
1
/usr/database/mysql5.7/bin/mysqld --initialize-insecure --user=mysql  --basedir=/usr/database/mysql5.7 --datadir=/usr/database/mysql5.7/data
2
#注意:mysqld --initialize-insecure初始化后的mysql是没有密码的
3
#重新修改下各个目录的权限
4
chown -R root:root /usr/database/mysql5.7/      #把安装目录的目录的权限所有者改为root
5
chown -R mysql:mysql /usr/database/mysql5.7/data/   #把data目录的权限所有者改为mysql
(6)启动mysql
/usr/database/mysql5.7/bin/mysqld_safe --user=mysql &
1
 
1
/usr/database/mysql5.7/bin/mysqld_safe --user=mysql &
(7)修改密码
 cd /usr/database/mysql5.7/bin/
./mysql -u root -p # 默认没有密码,直接敲回车就可以
use mysql;
update user set authentication_string=password('这里填你设置的密码') where user='root';
flush privileges;
exit;
6
 
1
 cd /usr/database/mysql5.7/bin/
2
 ./mysql -u root -p # 默认没有密码,直接敲回车就可以
3
 use mysql;
4
 update user set authentication_string=password('这里填你设置的密码') where user='root';
5
 flush privileges;
6
 exit;
(8)测试登录
cd /usr/database/mysql5.7/bin/
./mysql mysql -u root -p
输入密码后,应该就连接上了
show databases;
exit; #退出
5
 
1
cd /usr/database/mysql5.7/bin/
2
./mysql mysql -u root -p
3
输入密码后,应该就连接上了
4
show databases;
5
exit; #退出
(9)copy启动脚本并将其添加到服务且设置为开机启动
#mysql启动脚本为:/usr/database/mysql5.7/support-files/mysql.server
cp /usr/database/mysql5.7/support-files/mysql.server /etc/init.d/mysql
#添加服务
chkconfig --add mysql
# 显示服务列表
chkconfig --list
# 开机启动
chkconfig --level 345 mysql on
# 测试添加的服务是否能用
service mysql status #查看状态
service mysql start #启动mysql服务
service mysql stop #停止mysql服务
12
 
1
#mysql启动脚本为:/usr/database/mysql5.7/support-files/mysql.server
2
cp /usr/database/mysql5.7/support-files/mysql.server  /etc/init.d/mysql
3
#添加服务
4
chkconfig --add mysql   
5
# 显示服务列表
6
chkconfig --list    
7
# 开机启动
8
chkconfig --level 345 mysql on
9
# 测试添加的服务是否能用
10
service mysql status #查看状态
11
service mysql start  #启动mysql服务
12
service mysql stop   #停止mysql服务

四、设置外网可以访问

	在mysql的bin目录下执行:mysql -uroot -p密码 登陆到数据:
执行:use mysql;
执行:select host,user from user;
可以看到user为root,host为localhost的话,说明mysql只允许本机连接,那么外网,本地软件客户端就无法连接了。
调整方法:
执行:update user set host='%' where user ='root';
执行刷新:flush privileges;
OK!现在可以访问了!
如果还访问不了,那可能是防火墙问题,修改下防火墙就ok,修改方法这里就不提了,网上很多资料
9
 
1
    在mysql的bin目录下执行:mysql -uroot -p密码 登陆到数据:
2
    执行:use mysql;
3
    执行:select host,user from user;
4
        可以看到user为root,host为localhost的话,说明mysql只允许本机连接,那么外网,本地软件客户端就无法连接了。
5
    调整方法:
6
        执行:update user set host='%' where user ='root';
7
        执行刷新:flush privileges;
8
    OK!现在可以访问了!
9
    如果还访问不了,那可能是防火墙问题,修改下防火墙就ok,修改方法这里就不提了,网上很多资料

五、相关说明

(1)mysql服务的启动和停止命令
	service mysql status #查看状态
service mysql start #启动mysql服务
service mysql stop #停止mysql服务
3
 
1
    service mysql status #查看状态
2
    service mysql start  #启动mysql服务
3
    service mysql stop   #停止mysql服务
(2)怎么在Linux中登录mysql
 #进入mysql安装目录的bin目录,然后输入以下命令
./mysql -u root -p
#然后输入密码就登录成功 exit;#退出mysql
 
1
 #进入mysql安装目录的bin目录,然后输入以下命令
2
 ./mysql -u root -p
3
 #然后输入密码就登录成功
4
    
5
 exit;#退出mysql

Linux下安装解压版(tar.gz)MySQL5.7的更多相关文章

  1. Windows10下安装解压版MySQL教程

    MySQL安装分为安装版和解压版,安装版主要是由一个exe程序式安装,有界面鼠标点击安装即可,小白建议使用安装版安装mysql,相比较与安装版,解压版安装更"纯净",没有多余的东西 ...

  2. 在Window下安装解压版的mysql 5.7.11

    今天由于要在windows下学习Kettle,因此在Windows下安装了mysql 5.7.11,本来是没什么大问题的,但是在启动服务时还是出了点问题,服务老是启动不了: (一)解压到安装路径:   ...

  3. linux(centos6) 下安装 postgresql-9.3.1.tar.gz

    目录 一. 环境 二.准备工作 三.先安装 make, gcc ,gcc-c++,readline-devel ,zlib-devel .如果已安装,可以忽略 四.开始安装 4.1 解压 tar -z ...

  4. Windows 7安装解压版MySQL 5.6(不包含配置文件优化)

    到官网下载MySQL5.6 下载地址:http://dev.mysql.com/downloads/mysql/5.6.html, 提供了 .exe版本 和 .zip解压版,因为我的操作系统是64位的 ...

  5. 安装解压版的mariadb

    今天尝试了安装解压版的mariadb,在官网上https://downloads.mariadb.org/下载了5.5版本的mariadb的zip压缩包, 经过实践发现mariadb解压版安装与mys ...

  6. 解压.zip,.tar.gz文件到指定目录,重命名文件

    1.解压文件到指定目录 /** * 解压文件到指定目录 * zipFile:要解压的文件 * descDir:解压到哪个文件 * */ @SuppressWarnings("rawtypes ...

  7. windows安装解压版postgresql

    1.postgresql解压版下载 2.将下载的postgresql-12.1-1-windows-x64-binaries.zip解压 data文件夹后面初始化数据库时手动创建的 3.初始化数据库 ...

  8. Mysql安装(解压版)

    文章首推 刷网课请点击这里 刷二级请点击这里 论文查重请点击这里 WIFI破解详细教程 今日主题:Mysql安装(解压版) 环境 系统:windows10 版本:mysql5.7.29 安装过程 1. ...

  9. linux下 zip解压 tar解压 gz解压 bz2等各种解压文件命令

    .tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) ——————————————— .gz 解压 ...

随机推荐

  1. C++知识回顾之__stdcall、__cdcel和__fastcall三者的区别

    __stdcall.__cdecl和__fastcall是三种函数调用协议,函数调用协议会影响函数参数的入栈方式.栈内数据的清除方式.编译器函数名的修饰规则等. 调用协议常用场合 __stdcall: ...

  2. .Net Core(三)MVC Core

    MVC Core的改动感觉挺大的,需要的功能大多从Nuget安装,还内置了IOC,支持SelfHost方式运行等等. 一.项目结构的变化创建的新MVC项目的结构发生了变化,比如:静态文件需要统一放置到 ...

  3. JavaScript大杂烩1 - 理解JavaScript的类型系统

    随着硬件水平的逐渐提高,浏览器的处理能力越来越强大,本人坚信,客户端会越来越瘦,瘦到只用浏览器就够了,服务端会越来越丰满:虽然很多大型的程序,比如3D软件,客户端仍然会存在,但是未来的主流必将是浏览器 ...

  4. Linux 修改用户组后,如何关闭所有 X session 下使得组生效?

    最近在使用 docker-ce ,在配置当前用户组为 docker 的时候(sudo usermod -aG docker $USER)发现:必须要关闭当前的 session 重新登录 后,才能使得修 ...

  5. Centos7查询开机启动项服务

    问题描述: 最近安装了zabbix设置了一些开机启动服务 例如:zabbix-server.service,httpd.service,mariadb.service,或者系统的firework.se ...

  6. Centos7系统如何不重启系统识别新添加的硬盘?

    今天在系统开机后插入三块硬盘,结果没有一块硬盘被系统识别到.后来找到了方法. echo "- - -" > /sys/class/scsi_host/host0/scan 上 ...

  7. 06LaTeX学习系列之---TeXstudio的使用

    目录 目录 前言 (一)TeXstudio的认识 1.TeXstudio的安装 2.TeXstudio的优点 3.Texstudio的界面 (二)TeXstudio的编译与查看 (三)TeXstudi ...

  8. 怎样将本地web数据库项目部署到腾讯云服务器上?

    怎样将本地web数据库项目 部署到腾讯云服务器上? 1.本地计算机的工作: 1.1用eclipse或者myeclipse做好一个web项目,可以只做一个数据库的增删改查,本地部署到Tomcat服务器, ...

  9. 17秋 软件工程 团队第五次作业 Alpha Scrum11

    17秋 软件工程 团队第五次作业 Alpha Scrum11 今日完成的任务 世强:管理员头像图片上传和显示逻辑处理,活动添加及上传图片: 港晨:完成Web界面前后端对接: 树民:标准化后端接口格式: ...

  10. Jquery 中 ajaxSubmit使用讲解

    最近在使用ajaxForm,随便把使用方法记下下来,以便以后回顾. 1 ,引入依赖脚本 <script type="text/javascript" src="/j ...