首页 > 数据库 >【Linux合集之mysql】源码安装mysql

【Linux合集之mysql】源码安装mysql

时间:2024-11-20 10:56:08浏览次数:1  
标签:service 46 mysql 源码 Linux DWITH db01 root

1、本地留有mysql-5.6.46.tar.gz的包,将包上传至虚拟机
[root@db01 ~]# rz mysql-5.6.46.tar.gz
2、安装后面所需要的依赖

cmake过程需要的依赖

[root@db01 ~]# yum install -y cmake openssl openssl-devel ncurses-devel gcc gcc-c++

初始化过程依赖

[root@db01 ~]# yum install -y autoconf libaio libaio-devel

可以一步执行上面两个依赖的操作(合并执行)

yum install -y cmake openssl openssl-devel ncurses-devel autoconf libaio libaio-devel gcc gcc-c++

3、解压
[root@db01 ~]# tar xf mysql-5.6.46.tar.gz
4、创建安装的目录
[root@db01 ~]# mkdir /service
5.生成

[root@db01 ~]# cd mysql-5.6.46/
[root@db01 mysql-5.6.46]# cmake . -DCMAKE_INSTALL_PREFIX=/service/mysql-5.6.46 \
-DMYSQL_DATADIR=/service/mysql-5.6.46/data \
-DMYSQL_UNIX_ADDR=/service/mysql-5.6.46/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_ZLIB=bundled \
-DWITH_SSL=system \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLE_DOWNLOADS=1 \
-DWITH_DEBUG=0
#生成过程注释
#指定程序存放位置
cmake . -DCMAKE_INSTALL_PREFIX=/service/mysql-5.6.46 \
#指定数据存放目录
> -DMYSQL_DATADIR=/service/mysql-5.6.46/data \
#指定socket文件存放位置
> -DMYSQL_UNIX_ADDR=/service/mysql-5.6.46/tmp/mysql.sock \
#指定使用utf8字符集
> -DDEFAULT_CHARSET=utf8 \
#校验规则
> -DDEFAULT_COLLATION=utf8_general_ci \
#使用额外字符集
> -DWITH_EXTRA_CHARSETS=all \
#支持的存储引擎
> -DWITH_INNOBASE_STORAGE_ENGINE=1 \
> -DWITH_FEDERATED_STORAGE_ENGINE=1 \
> -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
#不支持的存储引擎
> -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
#启动zlib库
> -DWITH_ZLIB=bundled \
#启动用SSL库
> -DWITH_SSL=system \
#支持本地数据导入
> -DENABLED_LOCAL_INFILE=1 \
#支持嵌入式服务
> -DWITH_EMBEDDED_SERVER=1 \
#支持下载
> -DENABLE_DOWNLOADS=1 \
#禁用DEBUG
> -DWITH_DEBUG=0

6.编译安装
[root@db01 mysql-5.6.46]# make && make install
7.做软连接
[root@db01 ~]# ln -s /service/mysql-5.6.46 /service/mysql
8.创建数据的用户
[root@db01 ~]# useradd mysql -s /sbin/nologin -M
9.拷贝配置文件和启动文件

[root@db01 ~]# cd /service/mysql/support-files/
[root@db01 support-files]# cp my-default.cnf /etc/my.cnf
cp: overwrite ‘/etc/my.cnf’? y
[root@db01 support-files]# cp mysql.server /etc/init.d/mysqld

10.配置system管理mysql

[root@db01 ~]# vim /usr/lib/systemd/system/mysql.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=https://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/service/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
 
[root@db01 ~]# systemctl daemon-reload

11.初始化数据库

[root@db01 ~]# cd /service/mysql/scripts/
[root@db01 scripts]# ll
total 36
-rwxr-xr-x 1 root root 34977 Jun  3 17:05 mysql_install_db
[root@db01 scripts]# ./mysql_install_db --user=mysql --basedir=/service/mysql/ --datadir=/service/mysql/data

12.创建socket文件
第一次使用system启动服务失败,可以查看/var/log/messages日志看报错,也可以使用/etc/init.d/mysqld启动,日志直接打印出来,能看到报错,发现缺少socket文件目录,我们要创建上
[root@db01 ~]# mkdir /service/mysql/tmp
13.授权mysql目录

[root@db01 ~]# chown -R mysql.mysql /service/mysql
[root@db01 ~]# chown -R mysql.mysql /service/mysql-5.6.46/

14.启动服务

[root@db01 ~]# systemctl start mysql
[root@db01 ~]# netstat -lntp | grep 3306
tcp6       0      0 :::3306                 :::*                    LISTEN      51435/mysqld    
[root@db01 ~]# ps -ef | grep [m]ysql
mysql     51435      1  5 18:40 ?        00:00:00 /service/mysql/bin/mysqld --defaults-file=/etc/my.cnf

15.配置环境变量

[root@db01 ~]# vim /etc/profile.d/mysql.sh 
export PATH=/service/mysql/bin:$PATH

[root@db01 ~]# source /etc/profile

16、环境变量生效之后就可以直接启动数据库了

标签:service,46,mysql,源码,Linux,DWITH,db01,root
From: https://www.cnblogs.com/queryH/p/18556459

相关文章

  • SpringBoot养老院管理系统04077 程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统内容:用户,员工,老人信息,接待信息,床位信息,床位安排,外出信息,转房信息,退房信息,货品分类,货品信息,入库信息,出库信息,员工工资开题报告内容一、项目背......
  • Linux里反引号`和单引号‘注意区分,二者很像;以及双中括号[[]]
    $While[[`seq110|shuf|head-n1`!="1"]];doecho"retry";done问题结果发现:`seq110|shuf|head-n1`是反引号`,不是单引号’1.认成单引号和双引号执行情况:里面是字符不执行test_watch.sh执行bash脚本debug$bash-xtest_watch.sh2.正确表述......
  • 【Linux合集】当我们将运行级别设置为重启时……
    总以为设置系统重启就是重启,哈,我一开始就是这样认为的,但是设置之后就发现自己想错了,设置之后并不会发生任何变化,但问题会出现在你想把虚拟机关闭之后,或者当你重启的时候你就会发现一个很悲催的事情——虚拟机进入了无限的循环重启的地步,怎么办。满头雾水,却又无计可施。别急,教你怎......
  • 【Linux日常】windows机器添加GPU监控
    监控项:NvidiaGPU监控节点:192.168.10.11被监控节点:windows机器,ip:10.0.0.10插件: https://github.com/utkuozdemir/nvidia_gpu_exporter/releases/download/v1.2.1/nvidia_gpu_exporter_1.2.1_windows_x86_64.zip 预览模板windows机器操作1、进入监控机器windows机器......
  • MySQL解决中文乱码
    mysql字符编码的设置以及mysql中文乱码的解决方法解决策略一:最近在开发过程中,使用到mysql的数据库,而在将中文数据插入到数据库的时候出现了数据乱码的问题,在网上找了很多方法,问了很多人,试了很久才发现网上有的方法是不行的,因此在此记录下,以便他人查找。查看字符编码首先,将中文......
  • Linux基础命令二
    二、进阶命令2.1ps命令作用:监测进程。psaux:显示所有用户的进程可以看见CPU使用率,内存使用率、进程状态ps-ef系统上运行的所有进程可以看见PPID一些信息UID:启动这些进程的用户。PID:进程的进程ID。PPID:父进程的进程号(如果该进程是由另一个进程启动的)。C:进程生......
  • php购物商城php毕业设计在线购物商城电商网站电子产品网站手机购物商城电子产品购物商
    一、功能介绍php在线购物商城电商网站详细技术:HTML+CSS+JS+PHP+MYSQL系统分为用户和管理员两种身份用户功能如下:1.登陆注册2.查看商品详情、蛋糕资讯3.加入购物车、结算订单4.评价5.修改密码6.搜索蛋糕7.退出登录管理员功能如下:1.登录退出2.蛋糕管理(添加、修改和......
  • Linux基本命令(三) 文本处理及优化终端操作
    目录一、文本处理  1.1内容匹配1.1.1grep文件内容搜索1.1.2 awk正则匹配内容1.2 内容打印 1.2.1head显示文件头部内容1.2.2tail显示文件底部内容1.2.3sed文件内容显示1.2.4cut列提取1.3 内容处理1.3.1内容替换1.3.2sort内容排序1.3.3uniq内容去重......
  • Rocky Linux 9.5 正式版发布 - RHEL 100% 1:1 兼容免费发行版
    RockyLinux9.5正式版发布-RHEL100%1:1兼容免费发行版RockyLinux由CentOS项目的创始人GregoryKurtzer领导请访问原文链接:https://sysin.org/blog/rocky-linux-9/查看最新版。原创作品,转载请保留出处。作者主页:sysin.org以社区方式驱动的企业LinuxRockyLinu......
  • C++ 之 VS2010 和MySQL数据库的链接问题
    目录代码#include<winsock.h>#include#include#include<mysql.h>usingnamespacestd;#pragmacomment(lib,"ws2_32.lib")#pragmacomment(lib,"libmysql.lib")//单步执行,不想单步执行就注释掉#defineSTEPBYSTEPintmain(){cout<<&q......