mariadb-10.1.22mariadb编译安装
admin
2023-05-25 17:21:18
0次

官方下载地址: 

https://mirrors.tuna.tsinghua.edu.cn/mariadb//mariadb-10.1.22/source/mariadb-10.1.22.tar.gz

1、首先查询下是否安装了mysql或者旧版本mariadb

rpm -qa | grep mysql

删除rm -rf /etc/my.cnf

2、安装依赖包

#  yum install  -y  libevent 

# yum groupinstall -y Development Tools

# yum install -y ncurses-devel openssl-devel openssl 

3、创建数据库用户及组

#groupadd mysql

#useradd mysql -s /sbin/nologin -g mysql -M mysql

4、创建数据库数据存放目录及赋予权限

#mkdir /appliction/mydata -p

#chown mysql.mysql /appliction/mydata -R

一、编译安装开始

1、解压

#tar zxf mariadb-10.1.22.tar.gz

#cd mariadb-10.1.22

#cmake . -DCMAKE_INSTALL_PREFIX=/appliction/mysql \      //安装目录

          -DMYSQL_DATADIR=/appliction/mydata \      //数据库存放目录

          -DWITH_INNOBASE_STORAGE_ENGINE=1 \       //支持数据库innobase引擎

          -DWITH_ARCHIVE_STORAGE_ENGINE=1 \       //支持数据库archive引擎

          -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \     //支持数据库blackhole存储引擎

          -DWITH_READLINE=1 \                                    

          -DWITH_SSL=system \                                    

          -DWITH_ZLIB=system \

          -DWITH_LIBWRAP=0 \

          -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \                   

          -DDEFAULT_CHARSET=utf8 \             //字符集utf8

          -DDEFAULT_COLLATION=utf8_general_ci \    //校验字符

          -DENABLED_LOCAL_INFILE=1             //允许本地导入数据 

执行编译安装:

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data1/mysql -DSYSCONFDIR=/etc -DWITHOUT_TOKUDB=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STPRAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWIYH_READLINE=1 -DWIYH_SSL=system -DVITH_ZLIB=system -DWITH_LOBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

  这里说明一下:-DCMAKE_INSTALL_PREFIX是指定安装的位置,这里是/usr/local/mysql,-DMYSQL_DATADIR是指定MySQL的数据目录,这里是/data1/mysql,安装目录和数据目录都可以自定义设置,-DSYSCONFDIR是指定配置文件所在的目录,一般都是/etc ,具体的配置文件是/etc/my.cnf,-DWITHOUT_TOKUDB=1这个参数一般都要设置上,表示不安装tokudb引擎,tokudb是MySQL中一款开源的存储引擎,可以管理大量数据并且有一些新的特性,这些是Innodb所不具备的,这里之所以不安装,是因为一般计算机默认是没有Percona Server的,并且加载tokudb还要依赖jemalloc内存优化,一般开发中也是不用tokudb的,所以暂时屏蔽掉,否则在系统中找不到依赖会出现:CMake Error at storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompilerNaNake:179 (message)这样的错误,然后后面那些参数都是可选的,可以加也可以不加,最后的编码建议设置一下,所以编译指令也可以简化成下面这样:

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data1/mysql -DSYSCONFDIR=/etc -DWITHOUT_TOKUDB=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

注意:如果万一执行中有了错误,可以执行: rm -f CMakeCache.txt 删除编译缓存,让指令重新执行,否则每次读取这个文件,命令修改正确也是报错

#make -j4

#make install

  cmake没问题,可以编译并且安装了: make && make install 时间有点长,耐心等待

  执行完成也就是安装完成了,现在执行 cd /usr/local/mysql/ 进入mysql安装目录分别执行下面命令:

chown -R mysql:mysql .

scripts/mysql_install_db --datadir=/data1/mysql --user=mysql

chown -R root .

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

  然后还可以将mysqld添加至系统服务:

chkconfig --add mysqld   # 添加至系统服务

chkconfig mysqld on    # 设置开机自启动

  现在如果启动可能会报错,原因是日志目录没有建立,默认是/var/log/mariadb/mariadb.log,后来也可以修改,现在执行: mkdir/var/log/mariadb 建立日志目录,然后执行: /etc/init.d/mysqld start 或者 systemctl start mysqld.service 都可以启动mysql服务

  启动服务后,还不能马上进入mysql shell界面,原因是刚才编译时执行本地socket为:/tmp/mysql.sock但是查看/etc/my.cnf中配置的位置却是:/var/lib/mysql/mysql.sock,现在执行命令: ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock 建立软链接即可

2、配置MariaDB

#cd /appliction/mysql

#scripts/mysql_install_db --user=mysql --datadir=/appliction/mydata

 

复制配置文档

#cd /appliction/mysql/support-files/

#cp my-large.cnf /etc/my.cnf

创建启动脚本

# cd /appliction/mysql/support-files/

# cp mysql.server /etc/rc.d/init.d/mysqld

配置环境变量,方便直接输入mysql

# cat /etc/profile.d/mysql.sh 

MYSQL_HOME=/appliction/mysql

export PATH=$MYSQL_HOME/bin:$PATH

#source /etc/profile.d/mysql.sh

启动数据库

# /etc/rc.d/init.d/mysqld start登陆数据库,不需要密码

报错rm -f /tmp/mysql.sock

# mysql

qld start

Reloading systemd:               [  OK  ]

Starting mysqld (via systemctl):      [  OK  ]

初始化数据库,此方式可以禁用空密码登陆,按照提示输入你需要的Y或者N

# mysql_secure_installation

设置mysql本地方式免密码登陆

# egrep -v "^$|#" /etc/my.cnf  

[client]

port= 3306

socket= /tmp/mysql.sock

[mysqld]

port= 3306

socket= /tmp/mysql.sock

basedir=/usr/local/mysql(安装数据库目录)
datadir=/home/mydata(数据存放目录)

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

[mysqldump]

quick

max_allowed_packet = 16M

[mysql]

no-auto-rehash

user = root

password = 123456

host = 127.0.0.1

[myisamchk]

key_buffer_size = 128M

sort_buffer_size = 128M

read_buffer = 2M

write_buffer = 2M

[mysqlhotcopy]

interactive-timeout

 

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...