Cent7安装mysql5.7.11全过程
下载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全过程的更多相关文章
- Linux下安装mysql5.6.11(找点有用的信息太费劲)(转)
Linux下安装mysql5.6.11(找点有用的信息太费劲) (2013-04-25 10:25:09) 1.申请阿里云Linux服务器 昨天在阿里云申请了一个免费试用5天的Linux云服务 ...
- ubuntu14.04上安装Mysql-5.7.11
先安装好操作系统 在Mysql官网上下载最新版的Ubuntu Linux专用的Mysql.我这里下载的是:mysql-server_5.7.11-1ubuntu14.04_amd64.deb-bu ...
- centos7上源码安装mysql5.7.11
由于初学,安装这玩意搞了三天,其间各种报错难以解决,网上各种解答误导.最好的办法还是使用官方的英文文档,建议初学者一定要使用官方的文档,特别是下面两个页面作为初学者一定要细看: Installing ...
- 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 ...
- 安装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 ...
- Centos6.5 源码编译安装 Mysql5.7.11及配置
安装环境 Linux(CentOS6.5 版).boost_1_59_0.tar.gz.mysql-5.7.11.tar.gzMySQL 5.7主要特性: 更好的性能:对于多核CPU.固态硬盘. ...
- win7-x64安装mysql5.7.11(官方zip版)
1.下载官方安装包(http://www.mysql.com/downloads/),此zip包是没有安装器的(*.msi),也没有辅助配置的自动程序. 2.解压zip包,将文件放入指定目录,如:D: ...
- centos 下安装mysql-5.6.11
这次是在centos6.4下安装mysql,在安装之前,你要先确定你的linux已经安装了这些包: wget, gcc-c++, ncurses-devel ,cmake, make ,perl 如果 ...
- centos7 安装mysql5.7.11注意事项
centos7通过yum install mysql默认安装的是mariadb.至于为什么默认安装mariadb以及mariadb和mysql的区别,网上有很多说明.这里不再阐述,下面介绍下怎么另行下 ...
随机推荐
- [JLOI2013]地形生成[组合计数]
题意 \(n\) 元素各有一个高度 \(h\) 和关键数字 \(b\) .求有多少个下标序列和高度序列,满足对任意 \(i\),\(j< i\) 且 \(h_j < h_i\)的 \(j\ ...
- MySQL数据库语法(一)
MySQL数据库语法 数据库管理系统(DBMS)的概述 什么是DBMS:数据的仓库 方便查询 可存储的数据量大 保证数据的完整.一致 安全可靠 DBMS的发展:今天主流数据库为关系型数据库管理系统(R ...
- android安卓生成密钥keystore(命令控制)
android安卓生成密钥keystore(命令控制) • 配置JDK 详细教程 https://blog.csdn.net/u012934325/article/details/73441617/ ...
- Unity3d — — UGUI之Box Collider自适应大小
NGUI下给Sprite/image添加collider后能自适应大小,但是在UGUI下Collider是默认在(0,0)位置,size为0 因此写了个简单的脚本,效果如下(最后附代码) 1.如下图添 ...
- 环境变量的配置-java-JMETER - 【Linux】
rz上传 lz下载 步骤: . Linux下首先安装Jdk: . 下载apache-jmeter-4.0.tgz,复制到Linux系统中的/opt目录下: . 解压apache-jmeter-4.0. ...
- vue 子组件传值给父组件
子组件通过this.$emit("event",[args,....]),传值给父组件 HTML部分: <div id="app"> <tmp ...
- linux一切皆文件之Unix domain socket描述符(二)
一.知识准备 1.在linux中,一切皆为文件,所有不同种类的类型都被抽象成文件(比如:块设备,socket套接字,pipe队列) 2.操作这些不同的类型就像操作文件一样,比如增删改查等 3.主要用于 ...
- openstack系列文章(一)
学习openstack的系列文章-虚拟化 虚拟化 KVM CPU 虚拟化 KVM 内存虚拟化 全虚拟化 I/O 设备 半虚拟化 I/O 设备 I/O PCI PCIe 设备直接分配 SR-IOV 在 ...
- runlevel 命令详解
基础命令学习目录首页 原文链接:https://blog.csdn.net/PecoVio/article/details/82428883 runlevel 知识扩展 linux操作系统自从开始启动 ...
- 从汉诺塔游戏理解python递归函数
汉诺塔游戏规则: 有三根相邻的柱子,标号为A,B,C,A柱子上从下到上按金字塔状叠放着n个不同大小的圆盘,现在把所有盘子一个一个移动到柱子B上,并且每次移动同一根柱子上都不能出现大盘子在小盘子上方 图 ...