阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

MariaDB 10.1.22编译安装

120次阅读
没有评论

共计 5058 个字符,预计需要花费 13 分钟才能阅读完成。

官方下载地址:
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

Ubuntu 16.04 LTS 上安装 Nginx、MariaDB 和 HHVM 运行 WordPress  http://www.linuxidc.com/Linux/2016-10/136435.htm

Ubuntu 16.04 Dockerfile 安装 MariaDB  http://www.linuxidc.com/Linux/2016-09/135260.htm

Linux 系统教程:如何检查 MariaDB 服务端版本  http://www.linuxidc.com/Linux/2015-08/122382.htm

Ubuntu 16.04 下如何安装 MariaDB  http://www.linuxidc.com/Linux/2017-04/142915.htm

Linux 下编译安装配置 MariaDB 数据库的方法 http://www.linuxidc.com/Linux/2014-11/109049.htm

CentOS 系统使用 yum 安装 MariaDB 数据库 http://www.linuxidc.com/Linux/2014-11/109048.htm

安装 MariaDB 与 MySQL 并存 http://www.linuxidc.com/Linux/2014-11/109047.htm

Ubuntu 上如何将 MySQL 5.5 数据库迁移到 MariaDB 10  http://www.linuxidc.com/Linux/2014-11/109471.htm

[翻译]Ubuntu 14.04 (Trusty) Server 安装 MariaDB  http://www.linuxidc.com/Linux/2014-12/110048htm

Ubuntu 14.04(Trusty)安装 MariaDB 10 数据库  http://www.linuxidc.com/Linux/2016-11/136833.htm

MariaDB 的详细介绍:请点这里
MariaDB 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-04/143014.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计5058字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中