mysql8.0.25二进制与源码安装

首先非常感谢甲骨文首席解决方案工程师陈臣老师赠书:


由于本人mysql平时接触比较少,现将安装方法分享如下:

二进制安装:

一、创建操系统用户

groupadd mysqluseradd -g mysql mysql

二、解压二进制包,建立软链接

cd /usr/local/
tar xvf mysql-8.0.25-linux-glibc2.12-x86_64.tar.xz
ln -s mysql-8.0.25-linux-glibc2.12-x86_64 mysql

三、编辑配置文件

vim /etc/my.cnf
[client]
socket =/data/mysql/3306/data/mysql.sock
[mysqld]
basedir =/usr/local/mysql
datadir =/data/mysql/3306/datauser =mysqlport =3306
socket =/data/mysql/3306/data/mysql.sock
log_error =/data/mysql/3306/data/mysqld.err
log_timestamps =system

四、创建数据目录,并修改其属主、属组

mkdir -p /data/mysql/3306/datachown mysql.mysql /data/mysql/3306/data/

五、初始化实例

/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --initialize

六、启动实例

/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf&

查看mysqld进程是否启动

ps -ef|grep mysqld

七、登录实例,需要使用初始化过程中生成的随机密码

grep password /data/mysql/3306/data/mysqld.err/usr/local/mysql/bin/mysql -uroot -S /data/mysql/3306/data/mysql.sock -p'J1wl>BaP3,Kc'

八、修改密码

--密码策略mysql>install component 'file://component_validate_password';alter user user() identified by 'wuyang';
mysql>select * from mysql.component;
mysql>show plugins;

九、测试登录

/usr/local/mysql/bin/mysql -uroot -pwuyang


源码安装步骤:

一、安装依赖包,解压源码包

yum install cmake3 gcc gcc-c++ glibc ncurses-devel openssl-devel libaio-devel
--解压安装包cd /usr/src/tar xvf mysql-boost-8.0.25.tar.gzcd mysql-8.0.25

二、创建一个临时的编译目录

mkdir buildcd build
之所以要创建一个目录进行编译,主要为了保证源码树的整洁。如果在当前目录下编译,会报一下错误
CMake Error at Cmakelists.txt:382(MESSAGE)....................................-DEFORCE_INSOURCE_BUILD=1

三、配置编译文件

cmake3 /usr/src/mysql-8.0.25/ -DWITH_BOOST=/usr/src/mysql-8.0.25/boost/boost_1_73_0 -DENABLE_DOWNLOADS=1 -DBUILD_CONFIG=mysql_release
cmake命令会给予源码包中的CMakeLists.txt生成Makefile。这一步会检查编译器和依赖库是否已经安装,版本是否满足编译需求

cmke命令行中执行了3个选项

-DWITH_BOOST:制定Boost库的位置-DENABLE_DOWNLOADS:自动下载某些扩展文件,如Googletest,内网环境中可以不指定-DBULID_CONFIG=mysql_release:使用官方二进制包的编译选项

也可指定其他选项,常用的编译选项如下

-DCMAKE_BUILD_TYPE:bulid的类型,如果要编译成debug版,需将该选项设为debug-DWITH_DEBUG:是否编译成debug版本。若设置成1,效果同-DMAKE_BUILD_TYPE=debug一样-DCMAKE_INSTALL_PREFIX:指定安装目录的位置,默认为/usr/local/mysql-DMYSQL_DATADIR:指定数据目录的默认位置-DDEFAULT_CHARSET:指定默认字符集-DDEFAULT_COLLATION:指定字符集的默认校验规则-DMYSQL_TCP_PORT:指定mysql server的默认端口,默认为3306-DMYSQL_UNIX_ADDR:指定套接字文件的位置,默认为/tmp/mysql/sock-WITHOUT_xxx_STORAGE_ENGINE:排除某些存储引擎的编译。比如不编译BLACKHOLE存储引擎,可指定以下选项:-DWITHOUT_BLACKHOLE_STORAGE_ENGINE=1-WITH_xxx_STORAGE_ENGINE:指定某些存储引擎的编译。在二进制包中,默认不支持FEDERATED引擎,如果要开启,只能编译源码,且需要指定以下选项:-DWITH_FEDERATED_STORAGE_ENGINE=1-DWITHOUT_SERVER:是否编译mysql server,如果设置为1,则不会编译

四、编译

make -j 16
make会基于Makefile中的规则将源码编译成可执行文件,-j代表并发数

五、安装

make install
make install命令会将可执行文件和第三方依赖库拷贝到指定位置。编译后的文件默认/usr/local/mysql目录下

This system is not registered with an entitlement server. You can use subscription-manager to register问题处理

vim /etc/yum/pluginconf.d/subscription-manager.conf
修改enabled=0

cmake3处理方法

解压cmake源码包 
tar -zxvf  cmake-3.10.0-rc3.tar.gz
进入目录,设置,编译,链接 
cd cmake-3.10.0-rc3/ 
./bootstrap 
gmake 
gmake install
echo '[group_kdesig-cmake3_EPEL]  name=Copr repo for cmake3_EPEL owned by @kdesig  baseurl=  type=rpm-md  skip_if_unavailable=True  gpgcheck=1  gpgkey=  repo_gpgcheck=0  enabled=1  enabled_metadata=1' >> /etc/yum.repos.d/cmake3.repo
yum install -y epel-release






请使用浏览器的分享功能分享到微信等