编译安装MySQL5.7

罗小黑
2021-07-19 / 1 评论 / 123 阅读 / 正在检测是否收录...
广告
温馨提示:
本文最后更新于2021年07月19日,已超过131天没有更新,若内容或图片失效,请留言反馈。

1.MySQL源码包获取

在MySQL官网下载你需要的二进制包版本。
官网下载链接:https://downloads.mysql.com/archives/community/
本文是以mysql-5.7.28版本为例,所以也可以直接下载我这个版本。
链接:https://cdn.mysql.com/archives/mysql-5.7/mysql-boost-5.7.28.tar.gz

2.编译安装MySQL

2.1 下载源码包

wget https://cdn.mysql.com/archives/mysql-5.7/mysql-boost-5.7.28.tar.gz

2.2 安装依赖

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

2.3 解压源码包

tar xf mysql-boost-5.7.28.tar.gz

2.4 创建程序目录

mkdir -p /application

2.5 预编译和编译安装
预编译,生成Makefile文件

cd mysql-5.7.28

cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.7.28 \
-DMYSQL_DATADIR=/application/mysql-5.7.28/data \
-DMYSQL_UNIX_ADDR=/application/mysql-5.7.28/tmp/mysql.sock \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=./boost/boost_1_59_0/ \
-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 

编译安装

make && make install

2.6 创建软连接(也可以直接复制过去)

ln -s /application/mysql-5.7.28/ /application/mysql

2.7 创建数据库管理用户

useradd -M -s /sbin/nologin mysql

2.8 授权数据库目录

chown -R mysql.mysql /application/mysql-5.7.28/
chown -R mysql.mysql /application/mysql/

2.9 拷贝配置文件和启动脚本

cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld

2.10 编写配置文件

[root@db05 ~]# vim /etc/my.cnf
[mysqld]
datadir=/application/mysql/data
socket=/application/mysql/tmp/mysql.sock

[client]
socket=/application/mysql/tmp/mysql.sock

2.11 创建相关目录,并授权

mkdir /application/mysql/{tmp,log}
chown -R mysql:mysql /application/mysql

2.12 初始化数据库
初始化

/application/mysql/bin/mysqld --initialize --user=mysql --basedir=/application/mysql --datadir=/application/mysql/data

获取密码
初始化成功后,在命令行输出的最后一行会显示密码

krapsmgd.png

3.启动数据库
3.1 使用启动脚本启动mysql

启动

/etc/init.d/mysqld start

关闭

/etc/init.d/mysqld stop

3.2 使用systemd管理mysql服务
新建一个mysql服务的unit文件

[root@db02 ~]# vim /usr/lib/systemd/system/mysqld.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=/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000

重载系统的unit文件

systemctl daemon-reload

启动服务

systemctl start mysqld

3.3 检查mysql服务是否启动
查看mysql的进程

[root@db02 ~]# ps -ef | grep [m]ysql
mysql     42951      1  0 14:48 ?        00:00:00 /application/mysql/bin/mysqld --defaults-file=/etc/my.cnf

查看端口

[root@db02 ~]# netstat -lntp | grep 3306
tcp6       0      0 :::3306              :::*                LISTEN      42951/mysqld  

3.4 登录数据库
使用绝对路径登录

[root@db02 ~]# /application/msyql/bin/msyql

配置环境变量,直接使用mysql命令
因为系统中/usr/bin/或者/usr/sbin/目录下默认是mysql的命令的,修改下PATH变量,让其可以直接使用mysql命令

添加环境变量脚本

echo "export PATH=/application/mysql/bin:\$PATH" > /etc/profile.d/mysql.sh

#重新加载环境变量
source /etc/profile

登录mysql

[root@db02 ~]# mysql -uroot -p
0

打赏

评论 (1)

取消
  1. 头像
    ZMR
    Windows 10 · Google Chrome
    沙发

    https://mp4.zmr666.com/player/?url=https://www.kkyyds.xyz/view.php/2a62795838f5b016995eb9b663eb5d1e.mp4
    震惊!!*明星视频被曝光了!!!!!!!!!!!!!!!!

    回复 删除 垃圾