CentOS7下MySQL8的二进制基本安装配置
前言
基于本地Centos7.6虚拟机Mysql8的配置(亲测有效)
一.安装前的准备
1.到官网下载mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz
2.通过Xshell或者Xftp、PSPC、PSFTP等工具把安装包上传到CentOS服务器。
PSftp示范
(1)先在虚拟机上命令(ip addr)查看虚拟机的ip,没有ip自己网上找配置方法
(2)打开psftp,连接虚拟机
open ip
(3)账号密码登录(注意:要回复y or n时,要照提示输入,不能直接回车)
(4)登陆成功后,当前目录为root,切换到你要上传的位置(这里以local目录为例)
cd /usr/local/
(5)再切到本地存放mysql8压缩包的目录下(这里以F:\test为例)
lcd F:\test
(6)切到test目录后,开始上传(注意:后缀名也要打上去)
put mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz
当提出pftp>提示时,说明上传成功

3.在安装前需要确定现在这个系统有没有 mysql,如果有那么必须卸载。
(1)查看mysql数据库
rpm -qa | grep -i mysql
(2)卸载mysql数据库
rpm -e --nodeps mysql 文件名
(3)查找mysql文件
find / -name mysql
(4)删除mysql有所文件和配置文件my.cnf(自己上传的别错删了)
rm -rf 指定路径下的文件名

4.解压缩mysql文件
(1)xz –d /usr/local/mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz
(2)tar –xvf /usr/local/mysql-8.0.16-linux-glibc2.12-x86_64.tar
(3)mv /usr/local/mysql-8.0.16-linux-glibc2.12-x86_64 /usr/local/mysql
5.查看解压后的文件
ls -al /usr/local/mysql

二.添加mysql组和用户及权限分配
1.检查mysql组和用户是否存在,如无创建
cat /etc/group | grep mysql
cat /etc/passwd | grep mysql
2.创建mysql用户组,指定mysql用户属于mysql组
groupadd mysql
useradd -g mysql mysql

3.修改用户mysql的密码为A2019a(自己设定),回车后输入密码
passwd mysql
4给予安装目录mysql权限
chown -R mysql:mysql /usr/local/mysql

三.创建和设置配置文件my.cnf
1.在/etc/下创建创建my.cnf
touch /etc/my.cnf
vi /etc/my.cnf
在配置文件my.cnf添加如下配置(注意注意:别打错单词了,我就试过差点怀疑人生)
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
skip-name-resolve
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
2.赋my.cnf文件mysql权限
chown mysql:mysql /etc/my.cnf
四.mysql初始化配置
1.切换到mysql用户权限
su mysql
2.初始化生成data目录(切记不要手动创建data目录)(补充:mysql用户下初始化不成功(没有生成密码),用root用户来操作,最后记得把生成data目录赋予mysql用户)
/usr/local/mysql/bin/mysqld --initialize
如果当前所在目录为bin录下,命令形式为./mysqld --initialize
./不能省略,否则出错,因为省略后系统会当成mysqld程序执行,而不是bin目录下的mysqld可执行文件
3.如果提示没有libaio程序就先安装yum install libaio-devel.x86_64然后不断回y就行
但得先切回root用户(命令su回车输密码即可),否则报错权限不够
不用安装也要先切回root,否则下面步骤也会报错
4.初始化完成后,仔细看提示,会自动生成mysql数据库登陆密码,记好

5.此时在mysql目录下会生成data目录,但权限只有750,要追加到755

chmod 755 /usr/local/mysql/data
(或者 chmod o+r+x /usr/local/mysql/data)

五.软连接与开机启动项设置
1.创建软连接(实现可直接命令行执行mysql)
ln -s /usr/local/mysql/bin/mysql /usr/bin
2.mysqld配置,拷贝启动文件到/etc/init.d/目录下并重命令为mysqld
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
3.检查自启动项列表中有没有mysqld
chkconfig --list mysqld
4.如果没有就添加mysqld
chkconfig --add mysqld
5.设置开机启动
chkconfig mysqld on
6.启动测试
service mysqld start

六.pid问题解决

1.如果无法启动,且提示pid错误;首先一定要确认配置文件有没有打错字母,改正后,删除data目录
rm -rf /usr/local/mysql/data
2.重新初始化一遍
/usr/local/mysql/bin/mysqld --initialize
3.记下密码后,追加755权限给data目录
chmod 755 /usr/local/mysql/data
4.再重新启动mysql服务
service mysqld start
仍不行重试第六个标题步骤
按照前面来的操作,一般是不会有问题;配置文件中如果自定义mysql日志路径,在创建文件夹存放日志文件时,该文件夹手动创建后要赋Mysql用户权限
七.登录mysql修改密码
1.登录mysql,前面最新的密码就派上用场了
mysql -uroot -p密码
2.修改密码
set password='123456';
在yum或rpm在线安装完成后,首次登录强制修改密码
alter user 'root'@'localhost' identified by '123456';
有的人可能试过上面这句直接修改密码不行,此时可以先减低密码的防御策略,之后再视情况修改
set global validate_password.policy=0;
set global validate_password.length=1;
再执行上面的修改密码的语句
基本配置到此完成
mysql安全配置推荐参考https://www.freebuf.com/articles/database/36777.html
CentOS7下MySQL8的二进制基本安装配置的更多相关文章
- CentOS7下搭建Nginx+PHP7的安装配置
一.安装编译工具及库文件: yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel 环境要求 nginx是C ...
- Centos7下的rabbitmq-server-3.8.11安装配置
推荐大家看看这篇文章:https://blog.csdn.net/qq_27669839/article/details/113418827 下载安装文件 在网上去下载rabbmitmq-3.8.11 ...
- centos7下haproxy1.7的使用与配置
centos7下haproxy1.7的使用与配置 haproxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性.负载均衡,以及基于TCP和HTTP的应用程序代理. 一.haproxy下载 ...
- Centos7下PHP的卸载与安装nginx
Centos7下PHP的卸载与安装nginx CentOS上PHP完全卸载,想把PHP卸载干净,直接用yum的remove命令是不行的,需要查看有多少rpm包,然后按照依赖顺序逐一卸载. 1.首先查看 ...
- <亲测>CentOS 7.3下Node.js 8.6安装配置(含NPM以及PM2)
CentOS 7.3下Node.js 8.6安装配置 2017年09月30日 14:12:02 阅读数:2245更多 个人分类: Nodejs 版权声明:本文为博主原创文章,未经博主允许不得转载. ...
- CentOS8.1操作系下使用通用二进制包安装MySQL8.0(实践整理自MySQL官方)
写在前的的话: 在IT技术日新月异的今天,老司机也可能在看似熟悉的道路上翻车,甚至是大型翻车现场!自己一个人开车过去翻个车不可怕,可怕的是带着整个团队甚至是整个公司一起翻车山崖下,解决办法就是:新出现 ...
- 离线环境下使用二进制方式安装配置Kubernetes集群
本文环境 Redhat Linux 7.3,操作系统采用的最小安装方式. Kubernetes的版本为 V1.10. Docker版本为18.03.1-ce. etcd 版本为 V3.3.8. 1. ...
- 【hive】centos7下apache-hive-3.1.2-bin的安装测试
前言:安装hive还是遇见些问题,但还好都解决了,比当初安装配置hadoop-3.2.0容易点...... 正文: 1.下载并安装hive:tar -zxvf apache-hive-3.1.2-bi ...
- Windows环境下的NodeJS+NPM+Bower安装配置
npm作为一个NodeJS的模块管理,之前我由于没有系统地看资料所以导致安装配置模块的时候走了一大段弯路,所以现在很有必要列出来记录下.我们要先配置npm的全局模块的存放路径以及cache的路径,例如 ...
随机推荐
- Python 编写代码 检查是否遵循PEP 8标准
实际上并非必须遵守PEP 8,但是它已经成为一个默认的.约定俗成的规则,可以使代码风格更统一,提高可读性. 由于最近一直在学习Ubuntu,因此此处仍然以Ubuntu为例,介绍一下规则检查工具,它能帮 ...
- 【LeetCode】226. 翻转二叉树
题目 翻转一棵二叉树. 示例: 输入: 4 / \ 2 7 / \ / \ 1 3 6 9 输出: 4 / \ 7 2 / \ / \ 9 6 3 1 本题同[剑指Offer]面试题27. 二叉树的镜 ...
- JS - input输入框点击回车提交或者进行别的操作
$("input").keydown(function(event){ if (event.keyCode == 13) { /* 提交或者别的操作 */ } }) ...
- Django 模板渲染
模板语言 {{ 变量 }} {% 逻辑 %} {{ 变量 }} {{ 变量 }}中的点号 用于取出字典/列表等类型数据的值 {{ list.2 }} 获取列表list中索引为2的值 {{ dict.n ...
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 字体图标(Glyphicons):glyphicon glyphicon-edit
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...
- Android_03android拨号软件
今日开发了一个简单的安卓拨号软件. 步骤如下: 1.先构建用户界面 2.写java代码获取控件 3.进行逻辑的控制 4.添加权限 1.构建用户界面 2.点进R.java文件会发现系统已经自动生成索引, ...
- ArryList的使用方法(基础使用-将来会不断添加)
转自:http://www.cnblogs.com/ysz12300/p/5595907.html 引入ArryList的方法->命名空间:using System.Collections; A ...
- 【剑指Offer】面试题12. 矩阵中的路径
题目 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径.路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左.右.上.下移动一格.如果一条路径经过了矩阵的某一格,那么该路径 ...
- SpringBoot安全认证Security
一.基本环境搭建 父pom依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactI ...
- 利用kindlegen实现txt格式小说转换为mobi格式小说(C++实现)
一直以来喜欢在kindle上看小说,kindle不伤眼,也可以帮助控制玩手机的时间.但在kindle上看txt格式的网络小说就很头疼了,这类小说在kindle上是没有目录的,而且篇幅巨长.所以一直以来 ...