CentOS7下源码安装mysql

1、mysql安装步骤

第一步、安装依赖包

yum -y install ncurses-devel gcc-* bzip2-*

安装完依赖

第二步、升级cmake工具

wget https://github.com/Kitware/CMake/releases/download/v3.16.0-rc3/cmake-3.16.0-rc3.tar.gz

解压缩:tar xf cmake-3.13.0-rc2.tar.gz

解压缩后进入目录文件

看到有configure文件,配置文件 ./configure

配置完成后开始编译 make -j4

编译完成后安装 make install

第三步、升级boost库文件

wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.bz2

这里要注意,boost需要升级1_68_0版本,因为它是对应mysql5的,如果是最新版本只能使用mysql8

boost是绿色文件,直接解压后拷贝就可以用

tar xf boost_1_68_0.tar.bz2

将文件拷贝到/usr/local/boost下

mv boost_1_68_0 /usr/local/boost

第四步、安装mysql

去官网下载mysql

解压缩后进入文件目录,因为mysql目录中没有configure文件,所以我们需要cmake来配置mysql

配置命令如下

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql   指定安装路径
> -DMYSQL_DATADIR=/usr/local/mysql/data/    指定数据目录
> -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock   指定sock文件路径
> -DWITH_INNOBASE_STORAGE_ENGINE=1     安装Innodb引擎
> -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf-8 -DDEFAULT_COLLATION=utf8_general_ci   安装所有字符集、默认字符集和检验字符
> -DWITH_DEBUG=0   关闭debug
> -DWITH_EMBEDDED_SERVER=1  生成一个libmysqld.a(.so)的库,这个库同时集成了mysql服务与客户端API
> -DDOWNLOAD_BOOST=1 -DENABLE_DOWNLOADS=1 -DWITH_BOOST=/usr/local/boost  允许boost下载
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data/ -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock  -DWITH_INNOBASE_STORAGE_ENGINE=1  -DENABLED_LOCAL_INFILE=1 -DEXTRA_CHARSETS=all  -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_DEBUG=0 -DWITH_EMBEDDED_SERVER=1  -DENABLE_DOWNLOADS=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost

如果配置中出现错误,想要从新配置的话,必须先把mysql目录下的CMakeCache.txt文件删除掉后再重新配置

完成配置

编译 make -j4

编译过程会比较长,大概十分钟左右,根据你机器配置来看

安装 make install

第五部、安装后的操作

拷贝启动文件

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

给予文件权限

chmod 755 /etc/init.d/mysql

创建一个mysql用户

useradd -s /sbin/nologin -r mysql

创建了一个shell为nologin的系统用户

将/usr/local/mysql目录设置所有者给mysql用户

chown mysql.mysql /usr/local/mysql/ -R

mysql下的用户就全部更改了

创建软连接

ln -sf /usr/local/mysql/bin/* /usr/bin/
ln -sf /usr/local/mysql/lib/* /usr/lib/
ln -sf /usr/local/mysql/libexec/* /usr/local/libexec
ln -sf /usr/local/mysql/share/man/man1/* /usr/share/man/man1      
ln -sf /usr/local/mysql/share/man/man8/* /usr/share/man/man8

第六部、修改配置文件

配置文件在 /etc/my.conf

vim /etc/my.conf

[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd

[mysqld_safe]
log-error=/var/log/mysql.log
pid-file=/var/run/mysql.pid

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

第七部、初始化mysql

初始化命令:

/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

初始化以后有一个临时密码需要记录

第八部、启动mysql并修改密码

/etc/init.d/mysql start

启动成功,在3306端口看到了我们的mysql进程

修改密码:

mysql_secure_installation

输入刚刚初始化得到的临时密码,接着再输入新密码,输入完成后根据提示再选择配置参数即可

mysql -u root -p

回车后输入密码即可

原文地址:https://www.cnblogs.com/aaaajayheng1990/p/11896018.html