MySql(零):Linux(CentOS7)下安装和配置MySQL5.7.20(安装包安装)
一、下载安装包
1.在官网下载MySQL5.7安装包
mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz。
下载地址:https://dev.mysql.com/downloads/mysql/
由于安装包比较大,五六百M吧,再加上官网下载速度很慢,如果你等不急,可以使用下面第二种方法下载。
2.百度网盘资源
链接:https://pan.baidu.com/s/1w98R36MzVwJCiZyeLEFe9A
提取码:8wro
如果该链接失效,可以留言或站内信提醒我更新链接
二、创建mysql用户组和mysql用户
添加 mysql 组和 mysql 用户:
添加 mysql 组:[root@localhost ~]# groupadd mysql
添加 mysql 用户:[root@localhost ~]# useradd -r -g mysql mysql
扩展:
查看是否存在 mysql 组:[root@localhost ~]# more /etc/roup | grep mysql
查看 msyql 属于哪个组:[root@localhost ~]# groups mysql
查看当前活跃的用户列表:[root@localhost ~]# w
三、将MySQL安装包上传并解压
我一般都是上传到/usr/local/目录,然后解压
# tar -xzvf mysql-5.7.-linux-glibc2.-x86_64.tar.gz
四、安装MySQL前的一些准备
由于解压后的mysql文件夹太长,需要重命名下为mysql
[root@localhost local]# mv ./mysql-5.7.-linux-glibc2.-x86_64 ./mysql
修改权限
[root@localhost local]# chown -R mysql . // 把文件改为mysql用户可操作
[root@localhost local]# chgrp -R mysql . // 属组改为mysql组
检查是否安装了 libaio
[root@localhost pub]# rpm -qa | grep libaio
若没有则安装
版本检查:
[root@localhost pub]# yum search libaio
安装:
[root@localhost pub]# yum -y install libaio
五、安装MySQL
进入安装 mysql 软件目录:
[root@localhost ~]# cd /usr/local/mysql/
安装配置文件:
[root@localhost mysql]# cp ./support-files/my-default.cnf /etc/my.cnf(提示是否覆盖,输入“ y ”同意)
修改被覆盖后的 my.cnf:
[root@localhost mysql]# vim /etc/my.cnf
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[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=
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#lower_case_table_name=
max_allowed_packet=16M
这边有的版本需要解决这个问题:MySQL的my.cnf文件(解决5.7.18下没有my-default.cnf)
在mysql目录下创建data目录,作为数据存储位置
[root@localhost local]# cd ./mysql/
[root@localhost mysql]# ls
bin COPYING docs include lib man README share support-files
[root@localhost mysql]# mkdir ./data/
修改当前目录拥有者为 mysql 用户
[root@localhost mysql]# chown -R mysql:mysql ./
初始化mysqld,为了清晰,我这边都是用的绝对路径,出现下面这些信息,就代表mysql配置成功了。
[root@localhost bin]# /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
--23T03::.084331Z [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
--23T03::.361136Z [Warning] InnoDB: New log files created, LSN=
--23T03::.447653Z [Warning] InnoDB: Creating foreign key constraint system tables.
--23T03::.549908Z [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 97d6a462--11e9-8f84-000c2928b075.
--23T03::.551132Z [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
--23T03::.552764Z [Note] A temporary password is generated for root@localhost: ClTbfl(<=4Qd
最重要的是最后一行,框框里的这个就是mysql里root的初始密码了
六、配置MySQL
1 设置开机启动
a. 复制启动脚本到资源目录
[root@localhost mysql]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
b. 增加 mysqld 服务控制脚本执行权限
[root@localhost mysql]# chmod +x /etc/rc.d/init.d/mysqld
c. 将 mysqld 服务加入到系统服务
[root@localhost mysql]# chkconfig --add mysqld
d. 检查mysqld服务是否已经生效
[root@localhost mysql]# chkconfig --list mysqld
命令输出类似下面的结果
mysqld :off :off :on :on :on :on :off
表明mysqld服务已经生效,在2、3、4、5运行级别随系统启动而自动启动,以后可以使用 service 命令控制 mysql 的启动和停止。
查看启动项
chkconfig --list | grep -i mysql
删除启动项
chkconfig --del mysql
e. 启动 mysqld
[root@localhost mysql]# service mysqld start
.2 环境变量配置
将mysql的bin目录加入PATH环境变量,编辑 /etc/profile文件:
[root@localhost mysql]# vim /etc/profile
PATH = $PATH:/usr/local/mysql/bin
export PATH
执行命令使其生效:
[root@localhost mysql]# source /etc/profile
用 export 命令查看PATH值:
[root@localhost mysql]# echo $PATH
七、登录 mysql
1 测试登录
登录 mysql
[root@localhost mysql]# mysql -uroot -p(登录密码为初始化的时候显示的临时密码)
初次登录需要设置密码才能进行后续的数据库操作
SET PASSWORD = PASSWORD('');(密码设置为了123456)
修改密码为 password
update user set authentication_string=PASSWORD('password') where User='root';
2 防火墙端口设置,便于远程访问
[root@localhost ~]$ firewall-cmd --zone=public --add-port=/tcp --permanent [root@localhost ~]$ firewall-cmd --reload
开启防火墙mysql3306端口的外部访问
CentOS升级到7之后,使用firewalld代替了原来的iptables。下面记录如何使用firewalld开放Linux端口
--zone : 作用域,网络区域定义了网络连接的可信等级。
这是一个一对多的关系,这意味着一次连接可以仅仅是一个区域的一部分,而一个区域可以用于很多连接
--add-port : 添加端口与通信协议,格式为:端口/通讯协议,协议是tcp 或 udp
--permanent : 永久生效,没有此参数系统重启后端口访问失效
3 使用 SQLyog 远程连接出现不允许连接问题:
首先使用 dos 窗口 ping 一下 linux,排除网络连通问题,其次使用 SQLyog 连接测试一下。
解决方法:登录 linux mysql 在用户管理表新增用户帐号
mysql> use msyql
mysql> create user 'user-name'@'ip-address' identified by 'password';(红色标记为需要修改的地方)
其他方案:
授权root用户可以进行远程连接,注意替换以下代码中的“password”为 root 用户真正的密码,
另外请注意如果你的root用户设置的是弱口令,那么非常不建议你这么干!:
mysql> grant all privileges on *.* to root@"%" identified by "password" with grant option;
mysql> flush privileges;
MySql(零):Linux(CentOS7)下安装和配置MySQL5.7.20(安装包安装)的更多相关文章
- apache svn subversion安装和配置(使用源码安装包方式)
环境:虚拟机下centos7 1.下载安装包:http://subversion.apache.org/download.cgi 2.上传到指定文件夹并解压 3.安装依赖包 apr apr-utils ...
- 安装包安装npm
在阿里云机器上centos7安装npm可以直接yum安装,然后基于镜像的时候安装不了,直接使用安装包安装,记录一下: 官网下载地址:https://nodejs.org/en/download/ #! ...
- Linux - centos7 下 MySQL(mariadb) 和 主从复制
目录 Linux - centos7 下 MySQL(mariadb) 和 主从复制 MySQL(mariadb) 安装MySQL(mariadb) 配置数据库的中文支持 在远程用 mysql客户端去 ...
- Linux(CentOS7)下二进制安装MySQL5.7.26
记录一下自己在 CentOS7 下二进制安装 MySQL5.7.26 的过程,之前使用 Linux(CentOS7)下rpm安装MySQL8.0.16 之后发现 rpm 方式安装不利于维护,也不利于单 ...
- Linux CentOs7 下安装 redis
Linux CentOs7 下安装 redis 请将以下命令放入linux命令行中运行 如果安装过程前没有安装GCC请先安装 命令如下 $ yum install gcc-c++ $ wget ht ...
- (转)LINUX CENTOS7下安装PYTHON
LINUX CENTOS7下安装PYTHON 原文:http://www.cnblogs.com/lclq/p/5620196.html Posted on 2016-06-27 14:58 南宫羽香 ...
- Linux CentOS7下安装Zookeeper-3.4.10服务(最新)
Linux CentOS7下安装Zookeeper-3.4.10服务(最新) 2017年10月27日 01:25:26 极速-蜗牛 阅读数:1933 版权声明:本文为博主原创文章,未经博主允许不得 ...
- Linux(CentOS7)下配置多个tomcat
记录 Linux(CentOS7) 下配置多个 tomcat 的操作过程. 一.下载tomcat 前提:安装配置好jdk环境,未配置可参考Linux(CentOS7)下安装jdk1.8. 从 tomc ...
- Linux(CentOS7)下安装jdk1.8
Linux(CentOS7) 下安装 jdk1.8 操作过程. 一.检查是否自带jdk rpm -qa|grep java 如果存在则用下面命令删除,xxx yyy zzz代表查询出来的自带jdk名称 ...
随机推荐
- mfc afxbeginthread()
在进行多线程程序设计的时候,我们经常用到AfxBeginThread函数来启动一条线程该函数使用起来非常的简单方便,其定义如下 CWinThread* AfxBeginThread( AFX_TH ...
- [姿势]cpp - memset
头文件:memory.h 可以刷的有: memset(array,,sizeof(array)); //全部赋0 memset(array,-,sizeof(array)); //全部赋-1 用法和用 ...
- [CTSC2018]混合果汁(二分答案+主席树)
考场上写了60分的二分答案,又写了15分的主席树,然后就弃了.. 合起来就A了啊!主席树忘了开20倍空间最后还炸掉了. 最水的签到题被我扔了,主要还是不会用线段树求前缀和. 做法应该是比较显然的,首先 ...
- 【莫队算法】【权值分块】bzoj3236 [Ahoi2013]作业
莫队显然.然后维护转移的时候如果用树状数组,则很容易TLE.所以用权值分块维护转移. 总复杂度O(m*sqrt(n)). #include<cstdio> #include<algo ...
- 分析成绩 Exercise07_04
import java.util.Scanner; /** * @author 冰樱梦 * 时间:2018年下半年 * 题目:分析成绩 * */ public class Exercise07_04 ...
- 十. 图形界面(GUI)设计5.布局设计
在界面设计中,一个容器要放置许多组件,为了美观,为组件安排在容器中的位置,这就是布局设计.java.awt中定义了多种布局类,每种布局类对应一种布局的策略.常用的有以下布局类: FlowLayout, ...
- Scala实战高手****第2课:Scala零基础实战入门的第一堂课及如何成为Scala高手
val声明的不可变的战略意义:1.函数式编程中要求值不可变,val天然符合这一特性:2.在分布式系统中,一般都要求值不可变,这样才能够要求分布式系统的设计和实现,同时拥有更高的效率,val声明的内容都 ...
- Spring整合jdbc-jdbc模板对象
1,Spring 中封装了一个可以操作数据库的对象(JDBCTemplate:jdbc模板),这个对象封装了JDBC技术 2,与DBUtil中的QueryRunner对象非常相似 3,操作 (1)导包 ...
- /etc/sudoer文件配置简析
参考: http://blog.chinaunix.net/uid-26642180-id-3962245.html # User privilege specification root AL ...
- 从配置websocket理解nginx
原文地址:http://www.niu12.com/article/2 今天由于写了一个简单的基于h5 websoceket的聊天室,再本地都是好好了. 但是上到服务器后就发现无法行的通, 查 ...