mysql 5.7 编译_Mysql5.7版本编译安装及配置

news/2024/5/9 12:48:15

ab1a742ceb48ddffdb222f9c19c4be03.png

配置yum安装方式

1、配置本地yum源

1 vim /etc/yum.repos.d/rhel-source.repo2 [rhel-source]

3 name=Red Hat Enterprise Linux $releasever - $basearch -Source4 baseurl=file:///mnt5 enabled=1

6 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.73-3.el6_5.x86_64

# yum remove-y mysql-libs-5.1.73-3.el6_5.x86_64

2、新建用户

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

# 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

View Code

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

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

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++: notfound”

解决办法:yum install gcc*

6、make install

错误3:

../include/my_global.h:982: 错误:对 C++内建类型 ‘bool’ 的重声明

make[2]: *** [my_new.o] 错误 1make[2]: 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

更改配置文件

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

[root@pythonS1 ~]# vim /etc/my.cnf[client]

default-character-set=utf8

port=3306socket=/data/mysql/mysql.sock[mysqld]

character-set-server=utf8

pid-file = /data/mysql/mysql.pidlog-error=/var/log/mysqld.logdatadir=/data/mysql

basedir=/usr/local/mysql

socket=/data/mysql/mysql.sockuser=mysql

# Disabling symbolic-links is recommended toprevent assorted security risks

symbolic-links=0

[mysqld_safe]

log-error=/var/log/mysqld.logpid-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目标目录下不能有数据文件

个人表示不喜欢软连接方式,所以直接启动

/usr/local/mysql/bin/mysqld_safe &

3883daa54b9df3c5351af1e395546c4e.png

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控制服务

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

# 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

default_authentication_plugin = mysql_native_password --》mysql8.0的写法

加入这句

B./usr/local/mysql/bin/mysql进入UPDATE user SET password=PASSWORD("newpassword") WHERE user='root';

FLUSHPRIVILEGES;

验证密码是否成功:select user,host,password from mysql.user;

是否有md5值

create databasedb_test;

C.创建一个新用户用于管理 db_test 数据库insert into mysql.user(Host,User,Password)values("localhost","admin",password("newpassword"));

flushprivileges;

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.%等注意加引号

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pgtn.cn/news/29358.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

C++中istream的使用

在项目中会经常用到读取一些配置数据,这些数据根据实际需要有可能会调整,如果将这些数据直接嵌入进代码中会非常不便,需要经常调整代码。将这些数据写入配置文件中然后在读入,如果需要调整,只需修改配置文件&#xff0…

C++中操作符重载的使用

当运算符作用于类类型的运算对象时,可以通过运算符重载重新定义该运算符的含义。重载的运算符是具有特殊名字的函数:它们的名字由关键字operator和其后要定义的运算符共同组成。和其它函数一样,重载的运算符也包含返回类型、参数列表以及函数体。重载运算…

按下回车键指向下一个位置的一个函数

functiontofocus(itemname) // 按回车置下一个位置 2{ 3vara 4aeval( " document.vouch. "itemname) 5a.focus() 6} 7 在控件中使用onkeypress" javascrip:if(window.event.keyCode13){tofocus(nextformname)}提取下一个控件名

mysql 5.7编译安装重启_mysql5.7源码编译安装

安装mysql前的准备:一、安装依赖的库:yum install gcc-c ncurses-devel perl-Data-Dumper python-devel openssl openssl-devel二、 安装cmake(因为mysql5.7的编译由cmake来实现)安装cmake:cd cmake-2.8.8/预编译和安装:./bootst…

json11库的使用

JSON(JavaScript Object Notation)是一种轻量级的文本数据交换格式,易于让人阅读。同时也易于机器解析和生成。尽管JSON是Javascript的一个子集,但JSON是独立于语言的文本格式,并且采用了类似于C语言家族的一些习惯。JSON解析器和JSON库支持许…

mysql邮箱配置文件_SQL-数据库邮箱配置

一、启用数据库邮件手动启用数据库邮件功能,需执行以下脚本:exec sp_configure show advanced options,1RECONFIGUREexec sp_configure Database Mail XPs,1RECONFIGURE With Override二、配置数据库邮件1、启用配置向导如果事先没有手动启用数据库邮件功…

029 浏览器不能访问虚拟机的问题解决

1.在搭建分布式时 ssh一直不能进行scp,后来发现一个问题。 windows中的hosts配置了三台虚拟机的映射,但是在虚拟机中的hosts没有配置。 做法是在每台虚拟机上都配置三台虚拟机的映射。 2.端口访问与防火墙 最近帮别人解决问题时才注意的。 以前安装好虚拟…

C++中fstream的使用

C中处理文件类似于处理标准输入和标准输出。类ifstream、ofstream和fstream分别从类 istream、ostream和iostream派生而来。作为派生的类,它们继承了插入和提取运算符(以及其他成员函数),还有与文件一起使用的成员和构造函数。可将…