记录在CentOS7.8下,mysql源码包安装过程

系统版本:CentOS7.8

mysql版本:5.6.49

第一步:安装所需依赖:

[root@mysql_master1 ~]# yum -y install ncurses-devel libaio-devel openssl openssl-devel gcc make cmake net-tools vim

第二步:创建mysql用户,让mysql使用专用用户,降低风险

[root@mysql_master1 ~]# useradd -s /sbin/nologin  -M mysql
[root@mysql_master1 ~]# id mysql
uid=1001(mysql) gid=1001(mysql) groups=1001(mysql)

第三步:从远端获取mysql源码并解压

[root@mysql_master1 ~]# wget https://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.49.tar.gz
[root@mysql_master1 ~]# wget https://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.49.tar.gz
--2023-09-25 06:26:28--  https://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.49.tar.gz
Resolving mirrors.sohu.com (mirrors.sohu.com)... 110.43.82.141
Connecting to mirrors.sohu.com (mirrors.sohu.com)|110.43.82.141|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 32402099 (31M) [application/octet-stream]
Saving to: ‘mysql-5.6.49.tar.gz’

100%[======================================================================>] 32,402,099   133KB/s   in 4m 6s

2023-09-25 06:30:35 (128 KB/s) - ‘mysql-5.6.49.tar.gz’ saved [32402099/32402099]

[root@mysql_master1 ~]# tar -zxf mysql-5.6.49.tar.gz
[root@mysql_master1 ~]# ls
anaconda-ks.cfg  mysql-5.6.49  mysql-5.6.49.tar.gz
[root@mysql_master1 ~]# cd mysql-5.6.49
[root@mysql_master1 mysql-5.6.49]#
[root@mysql_master1 mysql-5.6.49]# ls
BUILD           configure.cmake      INSTALL      mysql-test  regex             storage        vio
client          dbug                 libmysql     mysys       scripts           strings        win
cmake           Docs                 libmysqld    mysys_ssl   source_downloads  support-files  zlib
CMakeLists.txt  Doxyfile-perfschema  libservices  packaging   sql               tests
cmd-line-utils  extra                LICENSE      plugin      sql-bench         unittest
config.h.cmake  include              man          README      sql-common        VERSION


第四步:执行cmake编译生成makefile文件,并设置预置参数

[root@mysql_master1 mysql-5.6.49]# cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.49 -DMYSQL_DATADIR=/application/mysql-5.6.4/data -DMYSQL_UNIX_ADDR=/application/mysql-5.6.49/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=a11 -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

在这里插入图片描述

第五步:执行make && make install 编译安装mysql

[root@mysql_master1 mysql-5.6.49]# make && make install
。。。此处省略一万字。。。

-- Installing: /application/mysql-5.6.49/sql-bench/test-select
-- Installing: /application/mysql-5.6.49/sql-bench/test-transactions
-- Installing: /application/mysql-5.6.49/sql-bench/test-wisconsin

到这里,就安装完成了,可以进入/application/mysql-5.6.49去查看一下

第六步:创建软链接,方便后期维护升级

[root@mysql_master1 application]# ln -s /application/mysql-5.6.49/ /application/mysql
[root@mysql_master1 application]# ls
mysql  mysql-5.6.49

第七步:初始化mysql

#--basedir  : 指定mysql的的原目录
#--datadir  : 指定mysql的数据目录
#--user  	: 指定mysql初始化用户,降低权限

[root@mysql_master1 scripts]# /application/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data/ --user=mysql

2023-09-25 07:41:07 74458 [Note] InnoDB: Shutdown completed; log sequence number 1625977
OK
2023-09-25 07:41:09 74498 [Note] InnoDB: Shutdown completed; log sequence number 1625987
OK


#出现这两个OK,表示初始化正常。
#以及看到如下的数据目录,表示mysql初始化正确。
[root@mysql_master1 scripts]# ls /application/mysql/data/
ibdata1  ib_logfile0  ib_logfile1  mysql  performance_schema  test

安装已完成。接下来拷贝mysql的服务文件,到/etc下:

[root@mysql_master1 mysql]# cp  support-files/mysql.server /etc/init.d/mysqld
[root@mysql_master1 mysql]# chmod 700 /etc/init.d/mysqld
[root@mysql_master1 mysql]# cp support-files/my-default.cnf /etc/my.cnf

准备启动,默认情况下,回报以下错误,缺少目录,创建即可:

[root@mysql_master1 mysql]# /etc/init.d/mysqld start
Starting MySQL.Logging to '/application/mysql-5.6.4/data/mysql_master1.err'.
230925 08:09:10 mysqld_safe Directory '/application/mysql-5.6.49/tmp' for UNIX socket file dont exists.
 ERROR! The server quit without updating PID file (/application/mysql-5.6.4/data/mysql_master1.pid).
 [root@mysql_master1 mysql]# mkdir -p /application/mysql-5.6.49/tmp
[root@mysql_master1 mysql]# /etc/init.d/mysqld start
Starting MySQL.Logging to '/application/mysql-5.6.4/data/mysql_master1.err'.
 ERROR! The server quit without updating PID file (/application/mysql-5.6.4/data/mysql_master1.pid).
发现还是没有启动成功,由于权限问题,将/application/mysql目录所有文件修改所属组为mysql
[root@mysql_master1 mysql]# ls -l /application/mysql/
total 244
drwxr-xr-x  2 root  root    4096 Sep 25 06:51 bin
drwxr-xr-x  5 mysql mysql    110 Sep 25 07:41 data
drwxr-xr-x  2 root  root      55 Sep 25 06:51 docs
drwxr-xr-x  3 root  root    4096 Sep 25 06:51 include
drwxr-xr-x  3 root  root     291 Sep 25 06:51 lib
-rw-r--r--  1 root  root  219891 Jun  2  2020 LICENSE
drwxr-xr-x  4 root  root      30 Sep 25 06:51 man
-rw-r--r--  1 root  root     943 Sep 25 07:40 my.cnf
drwxr-xr-x 10 root  root    4096 Sep 25 06:51 mysql-test
-rw-r--r--  1 root  root     587 Jun  2  2020 README
drwxr-xr-x  2 root  root      30 Sep 25 06:51 scripts
drwxr-xr-x 28 root  root    4096 Sep 25 06:51 share
drwxr-xr-x  4 root  root    4096 Sep 25 06:51 sql-bench
drwxr-xr-x  2 root  root     136 Sep 25 08:04 support-files
drwxr-xr-x  2 root  root       6 Sep 25 08:12 tmp
[root@mysql_master1 mysql]# chown -R mysql:mysql /application/mysql/
[root@mysql_master1 mysql]# ls -l /application/mysql/
total 244
drwxr-xr-x  2 mysql mysql   4096 Sep 25 06:51 bin
drwxr-xr-x  5 mysql mysql    110 Sep 25 07:41 data
drwxr-xr-x  2 mysql mysql     55 Sep 25 06:51 docs
drwxr-xr-x  3 mysql mysql   4096 Sep 25 06:51 include
drwxr-xr-x  3 mysql mysql    291 Sep 25 06:51 lib
-rw-r--r--  1 mysql mysql 219891 Jun  2  2020 LICENSE
drwxr-xr-x  4 mysql mysql     30 Sep 25 06:51 man
-rw-r--r--  1 mysql mysql    943 Sep 25 07:40 my.cnf
drwxr-xr-x 10 mysql mysql   4096 Sep 25 06:51 mysql-test
-rw-r--r--  1 mysql mysql    587 Jun  2  2020 README
drwxr-xr-x  2 mysql mysql     30 Sep 25 06:51 scripts
drwxr-xr-x 28 mysql mysql   4096 Sep 25 06:51 share
drwxr-xr-x  4 mysql mysql   4096 Sep 25 06:51 sql-bench
drwxr-xr-x  2 mysql mysql    136 Sep 25 08:04 support-files
drwxr-xr-x  2 mysql mysql      6 Sep 25 08:12 tmp
检查[root@mysql_master1 mysql]# cat /etc/init.d/mysqld,这两项是否填写,没填写就填写一下。
basedir=/application/mysql/
datadir=/application/mysql/data/
再次运行,运行成功了。
[root@mysql_master1 mysql]# /etc/init.d/mysqld start
Starting MySQL.Logging to '/application/mysql/data/mysql_master1.err'.
 SUCCESS!
 [root@mysql_master1 mysql]# /etc/init.d/mysqld status
 SUCCESS! MySQL running (95488)

[root@mysql_master1 mysql]# netstat -tunlp|grep mysql
tcp6       0      0 :::3306                 :::*                    LISTEN      95488/mysqld







评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值