CentOS7.4 源码安装MySQL8.0

本文详细记录了在CentOS7.4上从源码编译安装MySQL8.0.11的过程,包括依赖安装、源码下载、用户创建、目录权限设置、数据库初始化、配置my.cnf、启动服务、修改root密码以及创建新用户等步骤。安装完成后,还展示了如何验证MySQL服务是否成功启动。
摘要由CSDN通过智能技术生成

MySQL 8 正式版 8.0.11 已发布,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量的改进和更快的性能!

以下为本人2018.4.23日安装过程的记录。整个过程大概需要一个小时,make && make install过程需要的时间较长。

一.环境

CentOS7.4 64位 最小化安装

二.准备工作

1.安装依赖

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

2.下载源码包(如果下不到去官网下载软件包)

wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-boost-8.0.11.tar.gz      (此版本带有boost)

3.创建mysql用户

groupadd mysql
useradd -r -g mysql -s /bin/false mysql

4.创建安装目录和数据目录

mkdir -p /usr/local/mysql
mkdir -p /data/mysql
三.安装MySQL8.0.11

1.解压源码包

tar -zxf mysql-boost-8.0.11.tar.gz -C /usr/local

2.编译&安装

cd /usr/local/mysql-8.0.11
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DMYSQL_TCP_PORT=3306 -DWITH_BOOST=/usr/local/mysql-8.0.11/boost 
make  && make install

3.配置my.cnf文件

[mysql]
socket=/data/app/mysql/mysql.sock

[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove the leading "# " to disable binary logging
# Binary logging captures changes between backups and is enabled by
# default. It's default setting is log_bin=binlog
# disable_log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
#
# Remove leading # to revert to previous value for default_authentication_plugin,
# this will increase compatibility with older clients. For background, see:
# https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_authentication_plugin
# default-authentication-plugin=mysql_native_password

datadir=/data/mysql_data
socket=/data/app/mysql/mysql.sock

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid


server_id=1011
log-bin=mysql-bin
binlog-ignore-db=mysql
expire_logs_days = 7

expire_logs_days = 10

max_binlog_size = 1024M
max_connections= 5000
max_connect_errors = 1000

interactive_timeout = 1800
wait_timeout = 1800

thread_cache_size = 100

innodb_buffer_pool_size = 6G
innodb_buffer_pool_instances = 4

back_log = 110

innodb_flush_log_at_trx_commit = 1
sync_binlog = 1

bulk_insert_buffer_size = 4M

slow_query_log = 1
long_query_time = 5
log_queries_not_using_indexes = 0
slow_query_log_file = /data/app/mysql/slow.log

[client]
user=root
password=Zabbix@6.0
port = 3306

##请根据实际情况添加参数

4.目录权限修改

chown -R mysql:mysql /usr/local/mysql
chown -R mysql:mysql /data/mysql

5.初始化 此时数据库root账号的密码为空。

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

6.配置启动脚本

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on

7.启动mysql

service mysqld start
输出结果:Starting MySQL SUCCESS!

8.验证mysql服务已经启动和相关进程

ps -ef | grep mysqld

9.在数据库本机登录数据库

./mysql -uroot -p

10.修改账号密码

更新数据库root密码(由于之前初始化时候为空密码),在连接到SQL的环境中,分别执行以下命令。

ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘NEW_PASSWORD’;
ALTER USER ‘root’@‘localhost’ PASSWORD EXPIRE NEVER;
flush privileges;

create user zabbix@'192.168.10.%' identified  by '3qiCrq5pUpLDTrCT';
grant all privileges on zabbix.* to zabbix@'192.168.10.%' with grant option;
flush privileges;

11.创建软链接(非必要)

ln -s /usr/local/mysql/bin/* /usr/local/bin/

相关链接(创建MySQL用户):https://blog.csdn.net/ichen820/article/details/123125979

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值