MySQL rpm方式安装:https://www.cnblogs.com/deverz/p/9560403.html

1、卸载已经安装的MySQL

yum list installed mysql
rpm -qa | grep mysql
以上两个查到的都删除掉,删除的是mysql的,不要删除其他程序的mysql插件,
如果是升级MySQL,切记备份数据再删除,且安装前关闭mysql服务。

2、下载源码包

这里下载的是5.7版本:https://dev.mysql.com/downloads/mysql/5.7.html#downloads

3、解压压缩包并mv到指定目录

tar -xvzf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.26-linux-glibc2.12-x86_64 /data0/mysql

4、添加用户及用户组,分配目录权限

groupadd mysql
useradd mysql -g mysql
cd /data0
chown -R mysql
chgrp -R mysql

5、编辑my.cnf【以下是参考】

[mysqld]
basedir=/data0/mysql
datadir=/data0/mysql/data
socket=/tmp/mysql.sock
user=mysql
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
init_connect='SET NAMES utf8mb4'
lower_case_table_names = 1
port = 3306
tmpdir = /tmp

关于MySQL5.7配置文件:https://www.cnblogs.com/deverz/p/10997561.html

6、初始化MySQL

cd /data0/mysql
./bin/mysqld --initialize --user=mysql --basedir=/data0/mysql --datadir=/data0/mysql/data 其中/data0/mysql/data/目录是新建的所属用户和组都是mysql 5.7的初始使用的是mysqld --initialize
之前的版本使用的是mysql_install_db 初始化后,会有几个Warning 最后一行会有个类似已下的输出内容,等于初始了一个root密码,需要用它登录:
2019-06-10T05:09:55.612961Z 1 [Note] A temporary password is generated for root@localhost: (rjLmqO-7rqB

7、启动MySQL服务

cd /data0/mysql/support-files/
./mysql.server start

8、登录MySQL

初始化时MySQL提供了一个密码,要是没有记录的话,
在/root/.mysql_secret文件中也有临时密码可以使用。 cd /data0/mysql
./bin/mysql -uroot -p'临时密码' 登录成功设置root密码:
set password=password('123456789'); 设置远程连接
GRANT ALL PRIVILEGES ON *.* TO root@'%' identified by '123456789';
flush privileges;

9、添加系统服务

cp /data0/mysql/support-files/mysql.server /etc/init.d/mysqld

此时就可以使用service命令:
service mysqld stop
service mysqld start 添加开机启动的话:
chkconfig --add mysqld
chkconfig --list mysqld
chkconfig mysqld on

10、在/usr/bin/下添加mysql快捷方式

ln -s /data0/mysql/bin/mysql /usr/bin/mysql

这样就能全局使用
mysql -uroot -pxxx

11、若是升级MySQL到5.7执行sql遇到以下错误:

MySQL升级导致的问题
[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column
'information_schema.PROFILING.SEQ' which is not functionally dependent on columns in GROUP BY clause;
this is incompatible with sql_mode=only_full_group_by

解决方式:

mysql> SHOW VARIABLES LIKE '%sql_mode%';
+---------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| Variable_name | Value |
+---------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| sql_mode | ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+---------------+-------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.01 sec) 看到ONLY_FULL_GROUP_BY这一项,这是5.7的新功能,和老版本兼容出现了问题。
解决:去掉它

select version(),
@@sql_mode;SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY','')); mysql> SHOW VARIABLES LIKE '%sql_mode%';
+---------------+------------------------------------------------------------------------------------------------------------------------+
| Variable_name | Value |
+---------------+------------------------------------------------------------------------------------------------------------------------+
| sql_mode | STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+---------------+------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

CentOS 安装MySQL5.7 源码方式安装的更多相关文章

  1. CentOS 6.6 下源码编译安装MySQL 5.7.5

    版权声明:转自:http://www.linuxidc.com/Linux/2015-08/121667.htm 说明:CentOS 6.6 下源码编译安装MySQL 5.7.5 1. 安装相关工具# ...

  2. centos7下源码方式安装gitlab8.9+发送邮件+ldap

    CentOS7下源码方式安装gitlab 环境描述 操作系统: centos7 redis: >=2.8 mysql >=5.5.14 git >=2.7.4 架构设计 一台gitl ...

  3. 源码方式安装 lrzsz 库

    我们都知道安装了lrzsz工具的linux系统环境: 在shell里可以非常方便的上传和下载linux里面的文件: 通常的安装方式: yum install lrzsz sudo apt-get in ...

  4. 源码方式安装 lrzsz库

    源码方式安装 lrzsz库:https://www.cnblogs.com/cocoajin/p/11731787.html 我们都知道安装了lrzsz工具的linux系统环境,在shell里可以非常 ...

  5. Linux上生产环境源码方式安装配置postgresql12

    1.Linux上源码方式安装postgresql12 01.准备操作系统环境 echo "192.168.1.61 tsepg61" >> /etc/hosts mou ...

  6. Centos6 系统下源码方式安装Mysql 记录

    在运维工作中经常部署各种运维环境,涉及mysql数据库的安装也是时常需要的.mysql数据库安装可以选择yum在线安装,但是这种安装的mysql一般是系统自带的,版本方面可能跟需求不太匹配. #### ...

  7. 2-14 MySQL初步认识,及CentOS6.8环境,源码方式安装MySQL

    什么是数据库: 存放数据的仓库RDBMS-->(Relational Database Management System) 关系型数据库管理系统DBMS--->(Database Man ...

  8. 树莓派学习笔记—— 源码方式安装opencv

    0.前言     本文介绍怎样在树莓派中通过编译源码的方式安装opencv,并通过一个简单的样例说明怎样使用opencv.     很多其它内容请參考--[树莓派学习笔记--索引博文] 1.下载若干依 ...

  9. linux 软件包安装方式选择、安装位置、源码包安装

    对外提供服务,比如apache,应使用源码包安装对内提供服务,比如gcc,只是我自己使用,使用rpm包安装 rpm包不需要指定安装位置,源码包的安装需要手动指定安装位置 rpm包默认安装位置/etc/ ...

随机推荐

  1. C#面向对象笔记

    1.面向对象核心概念 (1)类是抽象,对象是实例,new一个对象会分配一块堆空间,对象指向该空间的地址,将对象赋值给另一个对象,只是将地址赋给它,指向的是同一块空间. e.g. class Car { ...

  2. error C2065: ‘_bstr_t’ : undeclared identifier

    转自VC错误:http://www.vcerror.com/?p=828 问题描述: error C2065: '_bstr_t' : undeclared identifier 解决方法: 详细的解 ...

  3. id4用用户名和密码方式控制身份验证

    建议看这个文章的时候先学习一下B站的id4教程以及文章中推荐的事例教程和官方例子: https://www.jianshu.com/p/259ef2256ec5

  4. 信息安全-攻击-XSRF:XSRF/CSRF 攻击

    ylbtech-信息安全-攻击-XSRF:XSRF/CSRF 攻击 CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者Ses ...

  5. 测开之路四十:jQuery基本用法

    从cdn引入jQuery库:https://www.bootcdn.cn/,搜索jQuery 在html里面(使用之前计算器的脚本),把复制的标签粘贴到引入js标签的前面:<script src ...

  6. token是什么?和session什么区别,怎么用

    对于初学者来说,对Token和Session的使用难免会限于困境,开发过程中知道有这个东西,但却不知道为什么要用他?更不知道其原理,今天我就带大家一起分析分析这东西. 一.我们先解释一下他的含义: 1 ...

  7. POJ 1860 Currency Exchange (Bellman-Ford)

    题目链接:POJ 1860 Description Several currency exchange points are working in our city. Let us suppose t ...

  8. layer子窗口赋值给父窗口

    子窗体赋值给父窗体: parent.$('#Receiver').val(typearr); //关闭子弹窗 var index = parent.layer.getFrameIndex(window ...

  9. HTTP面试题目

    转自:http://m.blog.csdn.net/zhangliangzi/article/details/51336564 1.说一下什么是Http协议? 对器客户端和 服务器端之间数据传输的格式 ...

  10. Springboot系列1_什么是Springboot

    Springboot系列1_什么是Springboot */--> code {color: #FF0000} pre.src {background-color: #002b36; color ...