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. JetBrains CLion

    JetBrains CLion 2017.2.4 ①.激活时选择License server: http://idea.irfen.me/ http://idea.imsxm.com/

  2. UITableView 支持左右滑动(二)

    原理: 用tableView其中一个cell 来展示一个 UIScrollView, 在scrollview上很像放置子tableView 注意点: 外层tableView需要实现手势代理 /* 若重 ...

  3. Gson字符串转换对象数组

    public class Input { private String title; private int formId; private String content; public String ...

  4. APP运营怎么利用留存率等数据分析用户减少的原因?

    APP运营怎么利用留存率等数据分析用户减少的原因? 数据分析最核心的方法是作比较,因为绝对的数值在大多数场合下是没有意义的,通过在不同维度之间做数据的比较分析,能帮助开发者找到数据变化的原因.举一个典 ...

  5. 10. Jmeter-后置处理器一

    jmeter-后置处理器介绍与使用一 今天我们先讲 CSS/JQuery Extractor JSON Extractor Boundary Extractor 正则表达式提取器 CSS/JQuery ...

  6. k8s 组件介绍-API Server

    API Server简介 k8s API Server提供了k8s各类资源对象(pod,RC,Service等)的增删改查及watch等HTTP Rest接口,是整个系统的数据总线和数据中心. kub ...

  7. asciinema.org -Record Your Terminal Share it with no fuss

    紀錄 Terminal 下指令的過程 http://asciinema.org/

  8. java并发编程之美-阅读记录6

    java并发包中锁 6.1LockSupport工具类 该类的主要作用就是挂起和唤醒线程,该工具类是创建锁和其他工具类的基础.LockSupport类与每个使用他的线程都关联一个许可证,在默认情况下调 ...

  9. 55.Top K Frequent Elements(出现次数最多的k个元素)

    Level:   Medium 题目描述: Given a non-empty array of integers, return the k most frequent elements. Exam ...

  10. JS的部分部分疑问和小结

    2015/9/1 1.在字符串中没有可以所需要查找的"X"的时候,返回的值  java:lastIndexof -1  js: IndexOf undefined... 2015/ ...