Mysql5.7版本编译安装及配置
配置yum安装方式
1、配置本地yum源
vim /etc/yum.repos.d/rhel-source.repo
[rhel-source]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=file:///mnt
enabled=1
gpgcheck=0
2、清除yum缓存
yum clean all
3、更新yum源
yum update all
yum安装 yum install 软件名
卸载 yum remove 软件名
安装开源mysql ===mysql5.7.10.tar.gz
安装依赖
yum -y install make gcc-c++ cmake bison-devel ncurses-devel libaio libaio-devel perl-Data-Dumper net-tools wget
1、卸载rpm mysql软件
# rpm -qa | grep mysql
mysql-libs-5.1.-.el6_5.x86_64 # yum remove -y mysql-libs-5.1.-.el6_5.x86_64
2、新建用户
# cat /etc/passwd | grep mysql
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash
# userdel mysql //删除rpm的用户
useradd -M -s /sbin/nologin mysql
groupadd mysql //添加用户组
useradd -r -g mysql mysql
3、解压缩
4、配置安装参数
yum -y install cmake
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/boost \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
cmake
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql #安装路径
-DMYSQL_DATADIR=/data/mysql/ #数据文件存放位置
-DSYSCONFDIR=/etc #my.cnf路径
-DWITH_MYISAM_STORAGE_ENGINE=1 #支持MyIASM引擎
-DWITH_INNOBASE_STORAGE_ENGINE=0 #支持InnoDB引擎
-DWITH_MEMORY_STORAGE_ENGINE=1 #支持InnoDB引擎
-DWITH_READLINE=1 #快捷键功能(我没用过)
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock #连接数据库socket路径
-DMYSQL_TCP_PORT=3306 #端口
-DENABLED_LOCAL_INFILE=1 #允许从本地导入数据
-DWITH_PARTITION_STORAGE_ENGINE=1 #安装支持数据库分区
-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk #安装需要的字符集
-DDEFAULT_CHARSET=utf8 #默认字符
-DDEFAULT_COLLATION=utf8_general_ci #默认字符集-DMYSQL_USER=mysql
参数详解
错误1:error: No curses/termcap
解决办法: # yum install ncurses-devel
5、make 编译
错误2:“../depcomp: line 571: exec: g++: not found” 解决办法:yum install gcc*
6、make install
错误3:
../include/my_global.h:982: 错误:对 C++ 内建类型 ‘bool’ 的重声明
make[]: *** [my_new.o] 错误 1
make[]: Leaving directory `/usr/src/mysql-5.1.49/mysys'
make[1]: *** [all-recursive] 错误 1
make[1]: Leaving directory `/usr/src/mysql-5.1.49'
make: *** [all] 错误 2
解决办法: ./configure加入参数 “--with-unix-socket-path=/tmp/mysql.sock”//指定套接字路径
7、生成mysql的配置文件
# cp support-files/my-medium.cnf /etc/my.cnf
更改配置文件
[root@pythonS1 ~]# vim /etc/my.cnf
[client]
default-character-set=utf8
port=3306
socket=/data/mysql/mysql.sock [mysqld]
character-set-server=utf8
pid-file = /data/mysql/mysql.pid
log-error=/var/log/mysqld.log
datadir=/data/mysql
basedir=/usr/local/mysql
socket=/data/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0 [mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/mysql/mysql/mysqld.pid
参照配置
经验之谈
由于navicat连接执行速度慢:加入一句:[mysqld] skip-name-resolve
8、初始化mysql数据库
/usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data/mysql --user=mysql
注意:更改为
# /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
- 之前版本mysql_install_db是在
$mysql_basedir/script下,5.7放在了$mysql_basedir/bin目录下,并会在将来被移除,转而使用mysqld替代 - -initialize会生成一个随机密码(保存在~/.mysql_secret),而–initialize-insecure不会生成密码- -–datadir目标目录下不能有数据文件
- 其他参数:mysql_install_db — Initialize MySQL Data Directory
个人表示不喜欢软连接方式,所以直接启动
/usr/local/mysql/bin/mysqld_safe &

9、修改属主、属组
chown mysql.mysql -R /data/mysql
chmod +x /usr/local/mysql
chown -R :mysql /var/lib/mysql/
环境变量配置
# vi /etc/profile -- 编辑/etc/profile文件在最后添加如下两行 -- PATH=/usr/local/mysql/bin:$PATH
export PATH # source /etc/profile
10、生成mysql控制服务
# cp support-files/mysql.server /etc/rc.d/init.d/mysqld(以后可以使用/etc/init.d/mysqld restart 命令)
# chmod a+x /etc/rc.d/init.d/mysqld
# chkconfig --add /etc/rc.d/init.d/mysqld //添加为系统服务,目的是为了开机自动启动(以后可以使用chkconfig mysqld on命令)
方法
11、启动mysqld服务
# /etc/init.d/mysqld start
netstat -antp | grep mysqld
12、建立mysql命令的软链接
环境变量PATH
echo $ PATH
# ln -s /usr/local/mysql/bin/* /usr/local/bin/
13、保证其他软件(apache、nginx、php)和mysql可以协同工作
# ln -s /usr/local/mysql/lib/mysql/* /usr/local/lib # ln -s /usr/local/mysql/include/mysql/* /usr/local/include/
14.修改密码:
A.进入配置文件:/etc/my.cnf
[mysqld]
skip-grant-tables
加入这句
B. /usr/local/mysql/bin/mysql进入
UPDATE user SET password=PASSWORD("newpassword") WHERE user='root';
FLUSH PRIVILEGES;
验证密码是否成功:
select user,host,password from mysql.user;
是否有md5值
create database db_test;
C.创建一个新用户用于管理 db_test 数据库
insert into mysql.user(Host,User,Password) values("localhost","admin",password("newpassword"));
flush privileges;
D.赋予权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'python123' WITH GRANT OPTION; # 这句是针对本机的, 以后可以使用127.0.0.1, 然后在下面那句
grant all privileges on db_test.* to 'user'@'%' identified by 'newpassword'; %在这里表示%:代表0个一个或多个任意字符,也可以是网段,192.168.10.%等注意加引号
Mysql5.7版本编译安装及配置的更多相关文章
- Linux下指定版本编译安装LAMP
说明: 操作系统:CentOS 6.5 64位 需求: 编译安装LAMP运行环境 各软件版本如下: MySQL:mysql-5.1.73 Apache:httpd-2.2.31 PHP:php-5.2 ...
- CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动
CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动1.关于mysql?MySQL是一个关系型数据库管理 ...
- CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境
CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境 什么是LNMP? LNMP(别名LEMP)是指由Linux, Nginx, MySQL/MariaDB, PHP/ ...
- mysql-5.6.17编译安装和常见问题
mysql-5.6.17编译安装和常见问题 以前用的是MySQL的5.1版本,且使用的是免编译的包,安装简单.最近换了5.6版本的MySQL,安装过程出现了不少问题. 1. 卸载原来版本的MySQL ...
- libCURL开源库在VS2010环境下编译安装,配置详解
libCURL开源库在VS2010环境下编译安装,配置详解 转自:http://my.oschina.net/u/1420791/blog/198247 http://blog.csdn.net/su ...
- 解压版MySQL5.7.1x的安装与配置
解压版MySQL5.7.1x的安装与配置 MySQL安装文件分为两种,一种是msi格式的,一种是zip格式的.如果是msi格式的可以直接点击安装,按照它给出的安装提示进行安装(相信大家的英文可以看懂英 ...
- mysql5.7.11编译安装以及修改root密码小结
系统是cenos6.7 64位的,默认mysql5.7.11下载到/usr/local/src,安装目录在/app/local/mysql目录下,mysql数据放置目录/app/local/data. ...
- MySQL5.0版本的安装图解教程
MySQL5.0版本的安装图解教程是给新手学习的,当前mysql5.0.96是最新的稳定版本. mysql 下载地址 http://www.jb51.net/softs/2193.html 下面的是M ...
- MySQL安装 MySQL5.7.10免安装版配置,mysql5.7.10免安装版
MySQL5.7.10免安装版配置,mysql5.7.10免安装版 最新版的 Mysql 不提供图形界面的安装了, 下载下来是一个压缩包的形式, 那么我们如何来使用它呢, 让它为我们工作呢? 环境: ...
随机推荐
- 关于软件工程个人作业 Word frequency program 的总结
一.预计花在程序各部分的时间: (1)对所给命令行参数的判断和处理,看它是否合法.是哪种模式.预计用时20min; (2)关于目录操作:遍历给定目录下的所有文件,包括子目录和非目录文件.预计用时40m ...
- $this->display输出模板
1.public function index(){ $this->display() } // 默认输出的是index.html模板 2.public function index(){ $t ...
- array_filter移除空数组
$arr = array( "0"=> "564645", "1"=>"", "2"=& ...
- php引用计数的基本知识
每个php变量存在一个叫"zval"的变量容器中.一个zval变量容器,除了包含变量的类型和值,还包括两个字节的额外信息.第一个是"is_ref",是个bool ...
- localdb下载地址
https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=29062 只能使用IE下载 http://www.microsoft.co ...
- NSURLSession & NSCache
用于替代 NSURLConnection 支持后台运行的网络任务 暂停.停止.重启网络任务,不再需要 NSOperation 封装 请求可以使用同样的配置容器 不同的 session 可以使用不同的私 ...
- Scala 中object和class的区别
Scala中没有静态类型,但是有有“伴侣对象”,起到类似的作用. Scala中类对象中不可有静态变量和静态方法,但是提供了“伴侣对象”的功能:在和类的同一个文件中定义同名的Object对象:(须在同一 ...
- Linux服务器管理: 系统的进程管理后台进程的切换和相关命令
1.把进程放入到后台: [root@localhost/]#tar -zcf etc.tar.gz /etc & //这种方法是在后台运行的 [root@localhost ...
- CF456D A Lot of Games (字典树+DP)
D - A Lot of Games CF#260 Div2 D题 CF#260 Div1 B题 Codeforces Round #260 CF455B D. A Lot of Games time ...
- GOF业务场景的设计模式-----观察者模式
定义:定义对象间一种一对多的依赖关系,使得当每一个对象改变状态,则所有依赖于它的对象都会得到通知并自动更新. 在软件系统中经常会有这样的需求:如果一个对象的状态发生改变,某些与它相关的对象也要随之做出 ...
