2-mysql 5.7 源码安装
# 创建server目录和data目录,配置文件的etc目录放置在server目录下 mkdir -p /export/servers/mysql/etc /export/data/mysql/data # 创建用户及用户组 groupadd mysql useradd -r -g mysql -s /sbin/nologin mysql # 安装编译源码包所需要的依赖包,同时安装mysql所需依赖包 yum -y install m4 bison ncurses ncurses-devel openssl-devel cmake gcc-c++ gcc yum install -y bc glibc libstdc++* libtool sysstat lrzsz zlib yum -y install libaio # 安装boost,mysql-5.7.37依赖的boost版本,根据编译提示为:boost_1_59_0 # 下载地址 http://www.sourceforge.net/projects/boost/files/boost # 解压到指定目录即可,mysql进行cmake时,可通过DWITH_BOOST参数指定 mkdir -p /usr/local/boost/ tar -zxvf boost_1_59_0.tar.gz -C /usr/local/boost/ # 解压编译安装mysql # cmake 生成 makefile,make 编译,make install 安装到 PREFIX 目录 tar -zxvf mysql-5.7.37.tar.gz cd mysql-5.7.37 cmake . -DCMAKE_INSTALL_PREFIX=/export/servers/mysql/ -DMYSQL_DATADIR=/export/data/mysql/data -DSYSCONFDIR=/export/servers/mysql/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DMYSQL_UNIX_ADDR=/export/data/mysql/tmp/mysql.sock -DENABLED_LOCAL_INFILE=ON -DENABLED_PROFILING=ON -DWITH_DEBUG=0 -DMYSQL_TCP_PORT=3358 -DWITH_BOOST=/usr/local/boost/ make make install =============================================== # -DCMAKE_INSTALL_PREFIX=/usr/local/mysql #server安装路径 # -DMYSQL_DATADIR=/usr/local/mysql/data #data数据文件路径 # -DSYSCONFDIR=/etc #配置文件my.cnf路径 # -DMYSQL_UNIX_ADDR=/export/data/mysql/tmp/mysqld.sock #连接数据库socket路径 # -DMYSQL_TCP_PORT=3306 #端口 # -DWITH_INNOBASE_STORAGE_ENGINE=1 #支持InnoDB引擎 # -DWITH_MYISAM_STORAGE_ENGINE=1 #支持MyIASM引擎 # -DWITH_MEMORY_STORAGE_ENGINE=1 #支持Memory引擎 # -DWITH_READLINE=1 #快捷键功能(我没用过) # -DENABLED_LOCAL_INFILE=1 #允许从本地导入数据 # -DWITH_PARTITION_STORAGE_ENGINE=1 #安装支持数据库分区 # -DEXTRA_CHARSETS=all #安装所有的字符集 # -DDEFAULT_CHARSET=utf8mb4 #默认字符 # -DDEFAULT_COLLATION=utf8mb4_general_ci # 至此,剩下的操作步骤和二进制包安装是一模一样的了 # 添加mysql配置文件my.cnf cd /export/servers/mysql/etc touch my.cnf # my.cnf简单参数: [client] user = root socket = /export/data/mysql/tmp/mysql.sock [mysqld] port = 3358 socket = /export/data/mysql/tmp/mysql.sock datadir = /export/data/mysql/data/ log_error = error.log # 初始化,免密,并指定server目录和data目录 cd /export/servers/mysql bin/mysqld --initialize-insecure --user=mysql --basedir=/export/servers/mysql/ --datadir=/export/data/mysql/data/ # 变更mysql目录权限 chown -R mysql:mysql /export/servers/mysql chown -R mysql:mysql /export/data/mysql/ # 启动数据库并指定配置文件 /export/servers/mysql/bin/mysqld_safe --defaults-file=/export/servers/mysql/etc/my.cnf 1>/dev/null 2>&1 & 登录: /export/servers/mysql/bin/mysql # 扩散思维:假设有N多服务器需要定制化安装,如果每台服务器都通过源码编译安装,那样会很浪费时间,我们该如何缩短安装时间呢? # 解决思路:高级办法:制作rpm安装包。被逼无奈也可以在一台服务器进行编译安装后,在初始化前对server目录和data目录进行打包压缩成tar.gz包,再把压缩包传到其他服务器上进行解压并初始化即可 # 压缩和解压都必须带P参数,保留绝对路径 tar -zcvPf mysql-5.7.37.tar.gz /export/servers/mysql /export/data/mysql tar -zxvPf mysql-5.7.37.tar.gz # 初始化,免密,并指定server目录和data目录 cd /export/servers/mysql bin/mysqld --initialize-insecure --user=mysql --basedir=/export/servers/mysql/ --datadir=/export/data/mysql/data/ # 变更mysql目录权限 chown -R mysql:mysql /export/servers/mysql chown -R mysql:mysql /export/data/mysql/ # 启动数据库并指定配置文件 /export/servers/mysql/bin/mysqld_safe --defaults-file=/export/servers/mysql/etc/my.cnf 1>/dev/null 2>&1 &
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话