Centos7 编译安装mariadb-10.1.22
admin
2023-05-19 16:22:48
0

mariadb-10.1.22 源码编译安装

下载文件https://mariadb.com/

1.安装开发环境

yum groupinstall "Development Tools"

安装需要包:

yum install -y ncurses-devel openssl-devel openssl

2.安装cmake

tar -xf cmake-3.8.0.tar.gz
cd cmake-3.8.0
./bootstrap
make
make install

3.安装前准备

3.1.准备目录

mkdir -pv /data/mysql/3306/{data,logs/{binlog,relaylog}}

3.2.添加用户

groupadd mysql
useradd -s /sbin/nologin -g mysql -M mysql
chown mysql:mysql /data/mysql/3306/ -R

4.编译安装

# tar -xf mariadb-10.1.22.tar.gz 
# cd mariadb-10.1.22
# cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql/3306/data \
-DSYSCONFDIR=/etc \
-DMYSQL_USER=mysql \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP=0 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1  \
-DWITH_DEBUG=0 \
-DWITHOUT_MROONGA_STORAGE_ENGINE=1
# make
# make install

5.安装完环境准备

# chmod +w /usr/local/mysql/
# chown -R mysql:mysql /usr/local/mysql/

6.拷贝配置文件并修改

# cp support-files/my-large.cnf /etc/my.cnf
# vim /etc/my.cnf

增加如下:

datadir = /data/mysql/3306/data
innodb_flush_log_at_trx_commit = 2
innodb_file_per_table = ON
skip_name_resolve = ON

查看配置文件:

vim /etc/my.cnf
[client]
port            = 3306
socket          = /tmp/mysql.sock

[mysqld]
port            = 3306
socket          = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 1M
table_open_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
thread_concurrency = 8

log-bin=mysql-bin
binlog_format=mixed
server-id       = 1
datadir = /data/mysql/3306/data
innodb_data_home_dir = /data/mysql/3306/data
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /data/mysql/3306/data
innodb_buffer_pool_size = 256M
innodb_additional_mem_pool_size = 20M
innodb_log_file_size = 64M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 2
innodb_lock_wait_timeout = 50
innodb_file_per_table = ON
skip_name_resolve = ON

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash

[myisamchk]
key_buffer_size = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout


7.初始化mysql

# scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql/3306/data/ --defaults-file=/etc/my.cnf


查看初始化结果:

# ls /data/mysql/3306/data/
aria_log.00000001  ibdata1      ib_logfile1  mysql-bin.000001  mysql-bin.000003  mysql-bin.state     test
aria_log_control   ib_logfile0  mysql        mysql-bin.000002  mysql-bin.index   performance_schema

8.启动服务

# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
# chmod +x /etc/rc.d/init.d/mysqld 
# chkconfig --add mysqld
# service mysqld start

9.添加环境变量

# vim /etc/profile
export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin


重读环境变量

source /etc/profile


10.初始化数据库用户表

# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 10.1.22-MariaDB Source distribution
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> use mysql
Database changed
MariaDB [mysql]> delete from user where host='localhost.localdomain' or host='127.0.0.1' or host='::1' or user='';
Query OK, 5 rows affected (0.00 sec)


相关内容

热门资讯

德国马普学会主席:顶尖科学家功... 【文/观察者网 熊超然】香港《南华早报》5月17日报道指出,随着美国遭遇人才流失,地缘政治的迅速变化...
连续10年被拒还要硬蹭WHA?... 第七十九届世界卫生大会(WHA)将于5月18日至23日在瑞士日内瓦举行,不出所料,民进党当局再吃“闭...
新一轮药品集采拉开序幕,个别品... 作者:郭晋晖第十一批国家药品集中带量采购(下称“集采”)落地仅两个多月,随着信息预填报工作的启动,第...
执政不到两年,斯塔默遭“逼宫”... 2026年5月,英国政坛风暴再起。距离工党重返唐宁街不到两年,英国首相斯塔默迎来的不是执政稳定期,而...
出现20例死亡!重磅新药被启动... 当地时间 5 月 15 日,明星药 Tavneos® 在日本地区的独家许可方 Kissei ...
全国防灾减灾宣传周丨今年最大范... 中央气象台预报,5月15日至19日,我国中东部地区有一次大范围降雨过程,南北多地有中到大雨,部分地区...
油烟机灯不够亮是什么原因 油烟机是现代厨房中常见的家电,其主要功能是在烹饪时除去厨房内产生的油烟和异味,确保厨房空气的清新。油...
漏电开关一打雷就跳闸 原因可能是打雷的时候供电源附近的电流瞬间增大,导致电路跳闸,可以在打雷的时候关闭大功率电器解决;原因...
灯关了还有微亮是怎么回事 灯关了还有微亮可能是以下原因导致的:1. 开关控制了零线:火线直接进灯具,零线进开关,当开关断开时,...
灯线火线零线怎么分别 灯线火线零线的区分方法如下:1. 颜色区分:一般来说,火线(L)的颜色为红色或棕色,零线(N)的颜色...