请选择 进入手机版 | 继续访问电脑版

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 286|回复: 0

从0实战MySQL8.0数据库源码安装部署

[复制链接]

31

主题

20

回帖

251

积分

管理员

积分
251
发表于 2024-1-13 12:13:39 | 显示全部楼层 |阅读模式
1.1  MySQL 数据库8.0源码安装

(1) MYSQL8.x数据库源码编译安装,需要提前部署cmake工具,而且版本大于3.5.+,cmake3部署可以采用yum或者二进制Tar包。如下为yum部署方法和指令。

图片1.png

#卸载cmake软件包;
yum remove cmake -y

#安装epel-release扩展源;
yum install epel-release -y

#安装Cmake3新版本;
yum install cmake3 -y

#将新版本cmake3软链接到cmake;
ln -s /usr/bin/cmake3 /usr/bin/cmake

(2) 源码安装MYSQL 8.0.28方法,通过cmake、make、make install三个步骤实现。

#下载MYSQL 8.0版本;
http://mirrors.sohu.com/mysql/MySQL-8.0/mysql-boost-8.0.28.tar.gz

#安装高版本GCC源;
yum -y install centos-release-scl

#安装依赖包和库文件;
yum -y install ncurses-devel make perl gcc autoconf automake zlib libxml2 libxml2-devel libgcrypt libtool bison devtoolset-10-gcc devtoolset-10-gcc-c++ devtoolset-10-binutils openssl openssl-devel

#启用新版Gcc;
scl enable devtoolset-10 bash

#解压MYSQL8.x软件包;
tar xzf mysql-boost-8.0.28.tar.gz

#进入MYSQL8.x源代码目录;
cd mysql-8.0.28/

#预编译;
cmake  .  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DMYSQL_DATADIR=/data/mysql/ \
-DSYSCONFDIR=/etc \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306 \
-DWITH_XTRADB_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EXTRA_CHARSETS=1 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DWITH_BIG_TABLES=1 \
-DWITH_DEBUG=0 \
-DWITH_BOOST=./boost/ \
-DFORCE_INSOURCE_BUILD=1

#编译;
make -j4

#安装;
make -j4 install

#初始化MYSQL数据库;
/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql/

#设置MYSQL为系统服务;
ln -s /usr/local/mysql/bin/* /usr/bin/
\cp support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
/etc/init.d/mysqld start

#默认源码安装初始化MYSQL没有密码,直接进入数据库;
mysql

#修改密码规则和长度限制;
set global validate_password.policy=0;
set global validate_password.length=1;

#修改密码为aaaAAA111.,指令如下;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'aaaAAA111.';

#创建用户&授权jfedu用户访问;
create user jfedu@'%' identified by 'aaaAAA111.';

grant all on *.* to jfedu@'%';

#默认root用户不能远程登录,需要更新密码信息;
update mysql.user set host='%' where user="root";
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'aaaAAA111.';
grant system_user on *.* to 'root';
flush privileges;

(3) 根据如上MYSQL8.x安装和部署,登录MYSQL授权&修改root密码,通过Navicat远程登录,如图所示:

图片2.png

图片3.png

(4) MYSQL源码安装参数详解

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql55          Cmake预编译;
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock                         MYSQL Socket通信文件位置;
-DMYSQL_DATADIR=/data/mysql                                                 MYSQL数据存放路径;
-DSYSCONFDIR=/etc                                                                         配置文件路径;        
-DMYSQL_USER=mysql                                                                 MYSQL运行用户;        
-DMYSQL_TCP_PORT=3306                                                         MYSQL监听端口;
-DWITH_XTRADB_STORAGE_ENGINE=1                                 开启xtradb引擎支持;
-DWITH_INNOBASE_STORAGE_ENGINE=1                          开启innodb引擎支持;
-DWITH_PARTITION_STORAGE_ENGINE=1                         开启partition引擎支持;
-DWITH_BLACKHOLE_STORAGE_ENGINE=1                         开启blackhole引擎支持;
-DWITH_MYISAM_STORAGE_ENGINE=1                                 开启MyISAM引擎支持;
-DWITH_READLINE=1                                                                 启用快捷键功能;        
-DENABLED_LOCAL_INFILE=1                                                 允许从本地导入数据;
-DWITH_EXTRA_CHARSETS=1                                                 支持额外的字符集;        
-DDEFAULT_CHARSET=utf8                                                         默认字符集UTF-8;        
-DDEFAULT_COLLATION=utf8_general_ci                                 检验字符;        
-DEXTRA_CHARSETS=all                                                         安装所有扩展字符集;
-DWITH_BIG_TABLES=1                                                         将临时表存储在磁盘上;
-DWITH_DEBUG=0                                                                        禁止调试模式支持;        
make                                                                                                编译;        
make install                                                                                    安装。

(5) 不设置为系统服务,可以用源码启动方式。

cd /usr/local/mysql
mkdir –p  /data/mysql
useradd  mysql
ln -s /usr/local/mysql/bin/* /usr/bin/
nohup /usr/local/mysql/bin/mysqld_safe --user=mysql &


懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表