64位CentOs7源码安装mysql-5.6.35过程分享
首先安装依赖包,避免在安装过程中出现问题
[root@bogon liuzhen]# yum -y install gcc gcc-c++
[root@bogon liuzhen]# yum -y install cmake
[root@bogon liuzhen]# yum -y install ncurses-devel
[root@bogon liuzhen]# yum -y install autoconf
[root@bogon liuzhen]# yum -y install perl perl-devel
上面的依赖包安装也可以一行搞定
[root@bogon liuzhen]# yum -y install gcc gcc-c++ cmake ncurses-devel autoconf perl perl-devel
mysql源码下载地址:https://dev.mysql.com/downloads/mysql/5.6.html#downloads
源码包地址:https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.35.tar.gz
创建mysql安装目录以及数据存放目录
[root@bogon liuzhen]# mkdir /usr/local/mysql
[root@bogon liuzhen]# mkdir /usr/local/mysql/data
mkdir创建文件夹
-m : 对新建目录设置存取权限
-p : 此时若路径中的某些目录尚不存在,系统将自动建立好那些尚不存在的目录
创建用户、用户组
[root@bogon liuzhen]# groupadd mysql
[root@bogon liuzhen]# useradd -r -g mysql mysql
useradd命令用来建立用户帐号和创建用户的起始目录,该命令使用权限是终极用户。新建用户密码为空
-g : 指定用户所属的起始群组。
-d : 指定用户登入时的启始目录。
-s : 指定用户登入后所使用的shell。-s /sbin/nologin 是不让登录shell
-g后第一个mysql是组名,第二个mysql是新建的用户名,新建用户信息可在/etc/passwd文件中查到
解压缩文件到当前文件夹
tar备份,压缩与解压缩,Linux命令,也是一个工具
-z : 表示 tar 包是被 gzip 压缩过的,所以解压时需要用 gunzip 解压
-x : 从 tar 包中把文件提取出来
-v : 显示详细信息
-f xxx.tar.gz : 指定被处理的文件是 xxx.tar.gz
tar.gz的用tar zxvf解压,tar.bz2的用tar jxvf解压
开始安装
[code]
[root@bogon liuzhen]# tar -zxvf mysql-5.6.35.tar.gz
[root@bogon liuzhen]# cd mysql-5.6.35
[root@bogon mysql-5.6.35]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DINSTALL_DATADIR=/usr/local/mysql/data \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DENABLED_LOCAL_INFILE=1
[root@bogon mysql-5.6.35]# make && make install
CMAKE参数说明:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql //默认安装目录
-DINSTALL_DATADIR=/usr/local/mysql/data //数据库存放目录
-DDEFAULT_CHARSET=utf8 //使用utf8字符
-DDEFAULT_COLLATION=utf8_general_ci //校验字符
-DEXTRA_CHARSETS=all //安装所有扩展字符集
-DENABLED_LOCAL_INFILE=1 //允许从本地导入数据
-DMYSQL_USER=mysql
-DMYSQL_TCP_PORT=3306
CMAKE详细配置请参照mysql官网
注意事项:
如安装失败重新编译时,需要清除旧的对象文件和缓存信息。
[root@bogon mysql-5.6.35]# make clean
[root@bogon mysql-5.6.35]# rm -f CMakeCache.txt
[root@bogon mysql-5.6.35]# rm -rf /etc/my.cnf
设置目录权限
[root@bogon liuzhen]# cd /usr/local/mysql
[root@bogon mysql]# chown -R mysql:mysql .
[root@bogon mysql]# chown -R mysql:mysql data
chown 命令 更改某个文件或目录的属主和属组。
-R : 递归式地改变指定目录及其下的所有子目录和文件的拥有者。
-v : 显示chown命令所做的工作。
将mysql的启动服务添加到系统服务中
[root@bogon liuzhen]# cd /usr/local/mysql
[root@bogon mysql]# cp support-files/my-default.cnf /etc/my.cnf
创建基础表:
[root@bogon liuzhen]# cd /usr/local/mysql
[root@bogon mysql]# ./scripts/mysql_install_db --user=mysql
配置环境变量
[root@bogon liuzhen]# vi /etc/profile
在最下面添加下面两个值
export MYSQL_HOME="/usr/local/mysql"
export PATH="$PATH:$MYSQL_HOME/bin"
然后保存
让修改的profile文件立即生效
[root@bogon liuzhen]# source /etc/profile
将mysql加入到可控制启动的服务的文件夹内,并命名mysql,即service可控制的服务名,至此可用service mysql start控制启动mysql
/etc/init.d 是/etc/rc.d/init.d的链接,在/etc/init.d添加一个文件会同步在/etc/rc.d/init.d下添加一个相同文件
[root@bogon liuzhen]# cd /usr/local/mysql/
[root@bogon mysql]# cp support-files/mysql.server /etc/init.d/mysql
chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接
--add : 加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据。服务脚本必须存放在/etc/ini.d/目录下
让mysql服务加入到开机启动指令管理的服务列表中
[root@bogon liuzhen]# chkconfig --add mysql
开机自启动mysql服务
on : 针对的服务有等级限制,具体查询chkconfig详细
[root@bogon liuzhen]# chkconfig mysql on
现在可以使用下面的命令启动mysql
[root@bogon liuzhen]# service mysql start
停止mysql服务
[root@bogon liuzhen]# service mysql stop
重启mysql服务
[root@bogon liuzhen]# service mysql restart
下面两种命令作用相同
systemctl [stop|start|restart] 服务名
service 服务名 [stop|start|restart]
回车在接下来的提示中设置新密码即可
[root@bogon liuzhen]# mysqladmin -u root password
New password:
Confirm new password:
[root@bogon liuzhen]#
连接到mysql
[root@bogon mysql]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.6.35 Source distribution
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
为root添加远程连接的能力
mysql>use mysql;
mysql>desc user;
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root"; //为root添加远程连接的能力。
mysql>update user set Password = password('xxxxxx') where User='root';
mysql>select Host,User,Password from user where User='root';
mysql>flush privileges; //刷新权限
mysql>exit //退出
以下其余四个GRANT例子
给来自192.168.155.1的用户user1分配可对数据库dbname的tablename表进行SELECT,INSERT,UPDATE,DELETE,CREATE,DROP等操作的权限,并设定密码为123456。
对表操作权限还有好多如ALTER等
mysql>GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON dbname.tablename TO 'user1'@'192.168.155.1' IDENTIFIED BY '123456';
给来自192.168.155.1的用户user2分配可对数据库dbname所有表进行所有操作的权限,并设定口令为123456。
mysql>GRANT ALL PRIVILEGES ON dbname.* TO 'user2'@'192.168.155.1' IDENTIFIED BY '123456';
给来自192.168.155.1的用户user3分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123456。
mysql>GRANT ALL PRIVILEGES ON *.* TO 'user3'@'192.168.155.1' IDENTIFIED BY '123456';
给本机用户user4分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123456。
mysql>GRANT ALL PRIVILEGES ON *.* TO 'user4'@'localhost' IDENTIFIED BY '123456';
开启防火墙mysql3306端口的外部访问
CentOS升级到7之后,使用firewalld代替了原来的iptables。下面记录如何使用firewalld开放Linux端口
--zone : 作用域,网络区域定义了网络连接的可信等级。这是一个一对多的关系,这意味着一次连接可以仅仅是一个区域的一部分,而一个区域可以用于很多连接
--add-port : 添加端口与通信协议,格式为:端口/通讯协议,协议是tcp 或 udp
--permanent : 永久生效,没有此参数系统重启后端口访问失效
[root@bogon /]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
重启防火墙
[root@bogon /]# firewall-cmd --reload
-----------------------------------------------------------------------
忘记root密码后,如何更改密码
停止mysql服务,或者命令systemctl stop mysql
[root@bogon /]# service mysql stop
进入/usr/local/mysql
[root@bogon /]# cd /usr/local/mysql/
通过mysqld_safe启动mysql,并且启动mysql时不启动grant-tables授权表
[root@bogon mysql]# ./bin/mysqld_safe --basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data \
--skip-grant-tables &
登陆mysql
[root@bogon /]# mysql -u root mysql
修改root密码
mysql>UPDATE user SET password=PASSWORD("new_password") WHERE user='root';
刷新权限
mysql>FLUSH PRIVILEGES;
退出mysql
mysql>exit;
64位CentOs7源码安装mysql-5.6.35过程分享的更多相关文章
- 64位linux源码安装mysql
一:下载mysql http://dev.mysql.com/downloads/mysql/中的Generally Available(GA) Releases标签页,在MySQL Communit ...
- Centos7源码安装mysql及读写分离,互为主从
Linux服务器 -源码安装mysql 及读写分离,互为主从 一.环境介绍: Linux版本: CentOS 7 64位 mysq版本: mysql-5.6.26 这是我安装时所使用的版本, ...
- centos 6x系统下源码安装mysql操作记录
在运维工作中经常部署各种运维环境,涉及mysql数据库的安装也是时常需要的.mysql数据库安装可以选择yum在线安装,但是这种安装的mysql一般是系统自带的,版本方面可能跟需求不太匹配.可以通过源 ...
- CentOS 7下源码安装MySQL 5.7
网上说linux安装mysql服务分两种安装方法: ①源码安装,优点是安装包比较小,只有几十M左右,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容易出错: ②使用官方编译好的二进制文件安装,优点 ...
- lnux下源码安装MySQL 5.6
nux下源码安装MySQL 5.6 说明:本文是我自己测试的MySQL5.6源码安装,经本人亲自实践,完全可用,另在5.6之前的版本也是可以按照本文源码安装的.我是在两台linux下一台安装5.5,另 ...
- CentOS 6.4 源码安装MySQL 5.6
1.安装前准备工作 1.1 必备的包 gcc/g++ :MySQL 5.6开始,需要使用g++进行编译.cmake :MySQL 5.5开始,使用cmake进行工程管理,cmake需要2.8以上版本. ...
- centos7源码安装Python3的前提条件
centos7源码安装Python3的前提条件: # yum -y install openssl-devel bzip2-devel expat-devel gdbm-devel readline- ...
- Linux平台下源码安装mysql多实例数据库
Linux平台下源码安装mysql多实例数据库[root@linux-node1 ~]# netstat -tlunp | grep 330tcp6 0 0 :::3306 :::* LISTEN 6 ...
- 源码安装mysql,及主从同步
源码安装mysql [可选] 如果用源码安装cmake软件: cd /home/oldboy/tools/ tar xf cmake-.tar.gz cd cmake- ./configure #CM ...
随机推荐
- Configure Always On Availability Group for SQL Server on Ubuntu
下面简单介绍一下如何在Ubuntu上一步一步创建一个SQL Server AG(Always On Availability Group),以及配置过程中遇到的坑的填充方法. 目前在Linux上可以搭 ...
- 【原】缓存之 HttpRuntime.Cache
1.HttpRuntime.Cache HttpRuntime.Cache 相当于就是一个缓存具体实现类,这个类虽然被放在了 System.Web 命名空间下了.但是非 Web 应用也是可以拿来用的. ...
- [uiautomator篇] uiautoviewer 定位不到元素
定位工具: Uiautomatorviewer 在我们的APP中,只有这一个页面,元素无法加载出来,其它的都没有什么问题. 提示的错误:Error while obtaining UI hiera ...
- 转自kuangbin的AC自动机(赛前最后一博)
有了KMP和Trie的基础,就可以学习神奇的AC自动机了.AC自动机其实就是在Trie树上实现KMP,可以完成多模式串的匹配. AC自动机 其实 就是创建了一个状态的转移图,思想很 ...
- Python GUI 之 Treeview 学习
例子1 from tkinter import *import tkinter.ttk as ttk win = Tk()win.title("Treeview 学习") col ...
- 算法复习——虚树(消耗战bzoj2286)
题目: Description 在一场战争中,战场由n个岛屿和n-1个桥梁组成,保证每两个岛屿间有且仅有一条路径可达.现在,我军已经侦查到敌军的总部在编号为1的岛屿,而且他们已经没有足够多的能源维系战 ...
- ElasticSearch 索引查询使用指南——详细版
我们通常用用_cat API检测集群是否健康. 确保9200端口号可用: curl 'localhost:9200/_cat/health?v' 绿色表示一切正常, 黄色表示所有的数据可用但是部分副本 ...
- 洛谷 P1756 最小花费
题目背景 题目描述 在n个人中,某些人的银行账号之间可以互相转账.这些人之间转账的手续费各不相同.给定这些人之间转账时需要从转账金额里扣除百分之几的手续费,请问A最少需要多少钱使得转账后B收到100元 ...
- javascript事件委托和jQuery事件绑定on、off 和one以及on绑定多个事件(重要)
一. 事件委托什么是事件委托?用现实中的理解就是:有100 个学生同时在某天中午收到快递,但这100 个学生不可能同时站在学校门口等,那么都会委托门卫去收取,然后再逐个交给学生.而在jQuery 中, ...
- POJ 2411 状压dp
F - Mondriaan's Dream Time Limit:3000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I6 ...