MySQL8安装 一 : 源码安装

9de7bb31d0644e7393039222babfed10

这一个系列主要记录下各种安装的步骤,分别是源码安装,二进制安装,安装包安装,docker安装,以及多实例怎么配置,客户端的安装等等。

闲话少说,直接上步骤

CentOS8.1源码安装8.0.18单实例

下载好必须的软件包,最小化安装Centos操作系统,配置好yum源 这些必备的步骤就不写了

安装

#安装依赖包
dnf -y install wget cmake make gcc gcc-c++ git ncurses ncurses-devel libaio-devel openssl openssl-devel libtirpc-devel

#安装用户, 目录 和日志
useradd -s /sbin/nologin mysql
mkdir -p /usr/local/mysql ; chown -R mysql.mysql /usr/local/mysql ; chmod -R 755 /usr/local/mysql
mkdir -p /var/lib/mysql ; chown -R mysql.mysql /var/lib/mysql   ; chmod -R 755 /var/lib/mysql
touch /var/log/mysqld.log ; chown mysql:mysql /var/log/mysqld.log

tar -zxvf rpcsvc-proto-1.4.tar.gz && cd rpcsvc-proto-1.4/ && ./configure && make && make install
cd ; tar -zxvf boost_1_70_0.tar.gz -C /usr/local/src
cd ; tar -zxvf mysql-boost-8.0.18.tar.gz && cd mysql-8.0.18 ; mkdir build ; cd build 
cmake ../ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DWITH_DEBUG=OFF \
-DENABLED_PROFILING=ON \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=ON \
-DWITH_FEDERATED_STORAGE_ENGINE=ON \
-DWITH_ARCHIVE_STORAGE_ENGINE=ON \
-DWITH_BLACKHOLE_STORAGE_ENGINE=ON \
-DWITH_UNIT_TESTS=OFF \
-DMYSQL_DATADIR=/var/lib/mysql \
-DWITH_BOOST=/usr/local/boost_1_70_0

make -j 4 #3个小时,呵呵
make install

配置my.cnf

cat > /etc/my.cnf <<EOF
[client]
port=3306
socket=/var/lib/mysql/mysql.sock

[mysqld]
server_id=3306
port=3306
mysqlx_port=33060
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
mysqlx_socket=/var/lib/mysql/mysqlx.sock
log_error=/var/log/mysqld.log
basedir=/usr/local/mysql
log_bin=binlog
log_bin_index=binlog.index
relay_log=relay-log
relay_log_index=relay-log.index
transaction-isolation=repeatable-read
user=mysql
gtid-mode=on
enforce_gtid_consistency=on
binlog_checksum=none
disabled_storage_engines="MyISAM,BLACKHOLE,ARCHIVE,MEMORY"
innodb_buffer_pool_size=4G
binlog_cache_size=1M
default_time_zone='+8:00'
federated=on
event_scheduler=on
EOF

systemd配置文件

cat > /usr/lib/systemd/system/mysqld.service<<EOF
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://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

Type=notify

# Disable service start and stop timeout logic of systemd for mysqld service.
TimeoutSec=0

# Execute pre and post scripts as root
PermissionsStartOnly=true

# Start main service
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --daemonize

# Sets open_files_limit
LimitNOFILE = 10000

Restart=on-failure

RestartPreventExitStatus=1

# Set enviroment variable MYSQLD_PARENT_PID. This is required for restart.
Environment=MYSQLD_PARENT_PID=1

PrivateTmp=false
EOF

初始化和启动

echo 'PATH=$PATH:/usr/local/mysql/bin' >> ~/.bash_profile
source ~/.bash_profile

#初始化数据库,使用空密码
mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/var/lib/mysql
#启动数据库
systemctl --now enable mysqld

结束, 过程很简单,我个人的风格是尽量让命令行可直接复制粘贴,便于下次使用,所以有些编辑文件的操作,也写成命令了。例如 cat >> xxx<<EOF 等等。有的人是用vi,也是一样的,个人习惯不同。

后面再继续二进制, 安装包,docker等等安装吧。
9de7bb31d0644e7393039222babfed10谢谢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贺浦力特

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值