温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

centos7手工编译mysql5.7数据库详解(附源码包)

发布时间:2020-04-07 03:28:15 来源:网络 阅读:1155 作者:丁香花下 栏目:MySQL数据库

mysql简介:
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。
MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

实验环境:centos7一台,NAT模式
虚拟机挂载编译的目录大小不能小于8G这样,建议添加一块磁盘,挂载到本   地进行编译安装

链接:https://pan.baidu.com/s/1XFej_DoR3bXkCiTxFqhVOQ 密码:amv1 
boost源码包地址
链接:https://pan.baidu.com/s/1L4Saf17boqWTAqmm9mKWrw 密码:dhjk
mysql5.7源码包地址

注意事项:编译所需要的存储空间不少于7G,建议虚拟机添加磁盘挂载编译

1、安装编译环境包如下:

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

2、创建mysql用户

useradd -s /sbin/nologin mysql

3、挂载宿主机文件夹,解压包

mount.cifs //192.168.60.1/linuxbage /root/abc
tar zxvf mysql-5.7.17.tar.gz -C /abc/
tar zxvf boost_1_59_0.tar.gz -C /usr/local/

4、更改boost目录名,方便编译缩写
cd /usr/local/        //到解压的目录下
mv boost_1_59_0 boost      /将boost改名

5、到mysql解压的目录下

cd /root/abc
编译参数如下
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=/usr/local/boost \
-DWITH_SYSTEMD=1
centos7手工编译mysql5.7数据库详解(附源码包)

6、make && make install

7、chown -R mysql.mysql /usr/local/mysql/         变更mysql属主属组

8、更改配置文件

vim /etc/my.cnf

centos7手工编译mysql5.7数据库详解(附源码包)

针对不同区域进行配置
client] 客户端
port = 3306 3306端口
default-character-set=utf8 字符集
socket = /usr/local/mysql/mysql.sock 客户端连接服务端的连接目录

[mysql] 服务端
port = 3306 3306端口
default-character-set=utf8 字符集
socket = /usr/local/mysql/mysql.sock 连接目录

[mysqld] 针对于服务本身而言进行设定
user = mysql 管理用户是mysql
basedir = /usr/local/mysql 工作目录路径
datadir = /usr/local/mysql/data 数据库文件路径,会自动生成
port = 3306 端口3306
character_set_server=utf8 字符集
pid-file = /usr/local/mysql/mysqld.pid pid进程文件
socket = /usr/local/mysql/mysql.sock 连接目录
server-id = 1 server id

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,
NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

9、修改my.cnf的属主属组,添加环境变量
centos7手工编译mysql5.7数据库详解(附源码包)

10、初始化数据库

cd /usr/local/mysql/

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

11、复制启动脚本

cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service  /usr/lib/systemd/system/

12、启动mysql
centos7手工编译mysql5.7数据库详解(附源码包)

systemctl daemon-reload
systemctl start mysqld
netstat -anpt | grep 3306
systemctl enable mysqld

13、设置登陆密码

mysqladmin -u root -p password "abc123"

14、登陆mysql,查看数据库
centos7手工编译mysql5.7数据库详解(附源码包)
centos7手工编译mysql5.7数据库详解(附源码包)

15、设置权限,实现远程登陆

grant all privileges on . to 'root'@'%' identified by 'abc123' with grant option;
centos7手工编译mysql5.7数据库详解(附源码包)

end~

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI