下载mysql(注:其他版本未测试)

https://cdn.mysql.com/archives/mysql-5.7/mysql-boost-5.7.11.tar.gz

1、安装依赖包

yum -y install make gcc-c++ cmake bison-devel  ncurses-devel   bison perl perl-devel  perl perl-devel 

2、解压到/usr/local目录下

tar -zxvf mysql-boost-5.7.11.tar.gz -C /usr/local

3、创建mysql组和用户

groupadd mysql
useradd -r -g mysql -s /bin/false mysql

4、编译mysql

cd /usr/local/mysql-5.7.11/
cmake -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_BOOST=boost
make    #注意:此步骤过程非常慢,建议使用 -j 4 4核的方式处理 同时保证服务器的内存至少大于2G
make install

5、把原来的/etc/my.cnf备份

cp /etc/my.cnf /etc/my.cnf.bak
rm -f /etc/my.cnf

6、把安装目录用户和组更改为mysql

cd /usr/local/mysql
chown -R mysql .
chgrp -R mysql .

7、创建一个数据目录

mkdir -p /data/mysql/data/

8、初始化mysql,及开启ssl新功能

bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data
bin/mysql_ssl_rsa_setup --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data

9、 设为root是为了防止普通用户不小心删除数据库

chown -R root .
chown -R mysql /data

10、拷贝配置文件

cp support-files//my-default.cnf /etc/my.cnf
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

11、修改环境变量

vi /etc/profile
# 在profile文件末尾增加两行
PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
export PATH
# 使PATH搜索路径立即生效:
source /etc/profile

12、修改配置文件

vi /etc/my.cnf
#修改第19行(取消注释且修改为) datadir = /data/mysql/data/

13、启动

service mysql start

到此,数据库就已经安装完毕了

接下需要打开防火墙3306端口

firewall-cmd --add-port=3306/tcp --permanent

firewall-cmd --reload

firewall-cmd --list-port

但是 mysql -u root -p 不能直接登录,于是更改密码,记录如下:

1)vi /etc/my.cnf
2)在[mysqld]下边的某个位置增加: skip-grant-tables ,然后 :wq 保存退出
3)在 /usr/local/mysql/bin目录下执行命令: ./mysql -u root -p ,然后回车两次,进入到mysql
4)执行命令:
use mysql
SET SQL_SAFE_UPDATES = 0
5)update mysql.user set authentication_string=password('root') where User='root';
6)flush privileges ;
7)执行命令:SET SQL_SAFE_UPDATES = 1
8)vi /etc/my.cnf ,删除skip-grant-tables 行
9)service mysqld restart
10) 在 /usr/local/mysql/bin目录下执行命令: ./mysql -u root -p 然后输入新建的密码:root即可进入mysql

虽然现在可以登录了,但我们需要在其他客户端远程连接此数据库,发现是连不通的

提示:Host 'xxx' is not allowed to connect to this MySQL server。网上找了一些资料,是mysql未开启mysql远程访问权限导致。

记录解决方案供以后参考。:

1.登录到mysql:  mysql -uroot -ppwd

2.查看user表:

mysql> use mysql
Database changed
mysql> select host,user,password from user;
+------+------+-------------------------------------------+
| host | user | password |
+------+------+-------------------------------------------+
| localhost    | root | *826960FA9CC8A87953B3156951F3634A80BF9853 |
+------+------+-------------------------------------------+
1 row in set (0.00 sec)

表中host、user字段标识了可以访问数据库的主机和用户。例如上面的数据就表示只能本地主机通过root用户访问。原来如此,难怪远程连接死活连不上。

为了让数据库支持远程主机访问,

可以直接修改host字段的值,将localhost修改成需要远程连接数据库的ip地址。或者直接修改成%。修改成%表示,所有主机都可以通过root用户访问数据库。为了方便,我直接修改成%。命令:mysql> update user set host = '%' where user = 'root';

再次查看user表

+------+------+-------------------------------------------+
| host | user | password |
+------+------+-------------------------------------------+
| % | root | *826960FA9CC8A87953B3156951F3634A80BF9853 |
+------+------+-------------------------------------------+
1 row in set (0.00 sec)

修改成功,输入命令mysql> FLUSH PRIVILEGES; 回车使刚才的修改生效,再次远程连接数据库成功。

Cent7安装mysql5.7.11全过程的更多相关文章

  1. Linux下安装mysql5.6.11(找点有用的信息太费劲)(转)

    Linux下安装mysql5.6.11(找点有用的信息太费劲) (2013-04-25 10:25:09)     1.申请阿里云Linux服务器 昨天在阿里云申请了一个免费试用5天的Linux云服务 ...

  2. ubuntu14.04上安装Mysql-5.7.11

    先安装好操作系统   在Mysql官网上下载最新版的Ubuntu Linux专用的Mysql.我这里下载的是:mysql-server_5.7.11-1ubuntu14.04_amd64.deb-bu ...

  3. centos7上源码安装mysql5.7.11

    由于初学,安装这玩意搞了三天,其间各种报错难以解决,网上各种解答误导.最好的办法还是使用官方的英文文档,建议初学者一定要使用官方的文档,特别是下面两个页面作为初学者一定要细看: Installing ...

  4. linux cmake 安装mysql5.5.11,以及更高版本

    1.下载mysql5.5.12和cmake wget http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.12-linux2.6-i686.tar.gz ...

  5. 安装linux版qq,安装二进制包编译器,安装mysql-5.6.11,删除已安装或安装失败的mysql-5.6.11,简单mysql练习题

    上午[root@localhost ~]# ./test3.sh dev1^C[root@localhost ~]# groupadd dev1[root@localhost ~]# vim /etc ...

  6. Centos6.5 源码编译安装 Mysql5.7.11及配置

    安装环境 Linux(CentOS6.5 版).boost_1_59_0.tar.gz.mysql-5.7.11.tar.gzMySQL 5.7主要特性:    更好的性能:对于多核CPU.固态硬盘. ...

  7. win7-x64安装mysql5.7.11(官方zip版)

    1.下载官方安装包(http://www.mysql.com/downloads/),此zip包是没有安装器的(*.msi),也没有辅助配置的自动程序. 2.解压zip包,将文件放入指定目录,如:D: ...

  8. centos 下安装mysql-5.6.11

    这次是在centos6.4下安装mysql,在安装之前,你要先确定你的linux已经安装了这些包: wget, gcc-c++, ncurses-devel ,cmake, make ,perl 如果 ...

  9. centos7 安装mysql5.7.11注意事项

    centos7通过yum install mysql默认安装的是mariadb.至于为什么默认安装mariadb以及mariadb和mysql的区别,网上有很多说明.这里不再阐述,下面介绍下怎么另行下 ...

随机推荐

  1. [JLOI2013]地形生成[组合计数]

    题意 \(n\) 元素各有一个高度 \(h\) 和关键数字 \(b\) .求有多少个下标序列和高度序列,满足对任意 \(i\),\(j< i\) 且 \(h_j < h_i\)的 \(j\ ...

  2. MySQL数据库语法(一)

    MySQL数据库语法 数据库管理系统(DBMS)的概述 什么是DBMS:数据的仓库 方便查询 可存储的数据量大 保证数据的完整.一致 安全可靠 DBMS的发展:今天主流数据库为关系型数据库管理系统(R ...

  3. android安卓生成密钥keystore(命令控制)

    android安卓生成密钥keystore(命令控制) • 配置JDK 详细教程 https://blog.csdn.net/u012934325/article/details/73441617/ ...

  4. Unity3d — — UGUI之Box Collider自适应大小

    NGUI下给Sprite/image添加collider后能自适应大小,但是在UGUI下Collider是默认在(0,0)位置,size为0 因此写了个简单的脚本,效果如下(最后附代码) 1.如下图添 ...

  5. 环境变量的配置-java-JMETER - 【Linux】

    rz上传 lz下载 步骤: . Linux下首先安装Jdk: . 下载apache-jmeter-4.0.tgz,复制到Linux系统中的/opt目录下: . 解压apache-jmeter-4.0. ...

  6. vue 子组件传值给父组件

    子组件通过this.$emit("event",[args,....]),传值给父组件 HTML部分: <div id="app"> <tmp ...

  7. linux一切皆文件之Unix domain socket描述符(二)

    一.知识准备 1.在linux中,一切皆为文件,所有不同种类的类型都被抽象成文件(比如:块设备,socket套接字,pipe队列) 2.操作这些不同的类型就像操作文件一样,比如增删改查等 3.主要用于 ...

  8. openstack系列文章(一)

    学习openstack的系列文章-虚拟化 虚拟化 KVM CPU 虚拟化 KVM 内存虚拟化 全虚拟化 I/O 设备 半虚拟化 I/O 设备 I/O PCI PCIe 设备直接分配 SR-IOV 在 ...

  9. runlevel 命令详解

    基础命令学习目录首页 原文链接:https://blog.csdn.net/PecoVio/article/details/82428883 runlevel 知识扩展 linux操作系统自从开始启动 ...

  10. 从汉诺塔游戏理解python递归函数

    汉诺塔游戏规则: 有三根相邻的柱子,标号为A,B,C,A柱子上从下到上按金字塔状叠放着n个不同大小的圆盘,现在把所有盘子一个一个移动到柱子B上,并且每次移动同一根柱子上都不能出现大盘子在小盘子上方 图 ...