mariadb数据库的安装

本文在centos7.x系统中安装mariadb数据库

一:源码编译安装mariadb

  1:安装环境依赖的包,如下图

[root@molson ~]# yum install bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel gcc gcc-c++  cmake ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel libaio-devel -y

 

   

 

  2:准备用户和数据存放目录,如下

    

[root@molson ~]# useradd -r -s /sbin/nologin -d  /data/mysql/  mysql
[root@molson ~]# mkdir -pv /data/mysql
mkdir: 已创建目录 "/data"
mkdir: 已创建目录 "/data/mysql"
[root@molson ~]# chown mysql.mysql /data/mysql -R

  

 

  3:上传源码包寄解压源文件并进入源码包目录,如下

[root@molson src]# ll
总用量 70232
-rw-r--r--. 1 root root 71914588 4月   1 22:00 mariadb-10.2.23.tar.gz
[root@molson src]# tar xf mariadb-10.2.23.tar.gz 
[root@molson src]# ll
总用量 70236
drwxrwxr-x. 33 1001 1001     4096 3月  24 2019 mariadb-10.2.23
-rw-r--r--.  1 root root 71914588 4月   1 22:00 mariadb-10.2.23.tar.gz
[root@molson src]# cd mariadb-10.2.23
[root@molson mariadb-10.2.23]# 

  

    4:Cmake编译安装,如下图 

[root@molson mariadb-10.2.23]# cmake -DCMAKE_INSTALL_PREFIX=/app/mysql -DMYSQL_DATADIR=/data/mysql/  -DSYSCONFDIR=/etc/   -DMYSQL_USER=mysql -DWITH_INNOBASE_STORAGE_ENGINE=1  -DWITH_ARCHIVE_STORAGE_ENGINE=1  -DWITH_BLACKHOLE_STORAGE_ENGINE=1  -DWITH_PARTITION_STORAGE_ENGINE=1   -DWITHOUT_MROONGA_STORAGE_ENGINE=1  -DWITH_DEBUG=0  -DWITH_READLINE=1  -DWITH_SSL=system  -DWITH_ZLIB=system  -DWITH_LIBWRAP=0  -DENABLED_LOCAL_INFILE=1   -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock -DDEFAULT_CHARSET=utf8  -DDEFAULT_COLLATION=utf8_general_ci -DWITHOUT_TOKUDB=1

  

     CMake编译完成,如下图

      

   再执行make && make install 指令完成编译,如下:

  

[root@molson mariadb-10.2.23]# make && make install

  5:配置环境变量并生效,如下

[root@molson mariadb-10.2.23]# echo 'PATH=/app/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
[root@molson mariadb-10.2.23]# .  /etc/profile.d/mysql.sh

  6:生成数据库文件,如下

  

[root@molson ~]# cd /app/mysql
[root@molson mysql]# scripts/mysql_install_db --datadir=/data/mysql/ --user=mysql
Installing MariaDB/MySQL system tables in '/data/mysql/' ...
OK
。。。
。。。
。。。
The latest information about MariaDB is available at http://mariadb.org/.
You can find additional information about the MySQL part at:
http://dev.mysql.com
Consider joining MariaDB's strong and vibrant community:
https://mariadb.org/get-involved/

  

  7:准备配置文件,如下

  

[root@molson mysql]# cp /app/mysql/support-files/my-huge.cnf  /etc/my.cnf

  

 8:准备启动脚本,如下

  

[root@molson ~]# cp /app/mysql/support-files/mysql.server  /etc/init.d/mysqld

  

  

 9:启动数据库,如下 

[root@molson ~]# chkconfig --add mysqld
[root@molson ~]# service mysqld start
Starting mysqld (via systemctl):                           [  确定  ]

 10:登录并验证数据库,如下

  

   

 

   由此上图可知,源码编译的mariadb数据库安装成功!

 二:二进制安装mariadb数据库

   1:准备用户,如下

[root@molson ~]# groupadd -r -g 306 mysql
[root@molson ~]# useradd -r -g 306 -u 306 –d /data/mysql mysql

  2:准备数据目录,如下

  

[root@molson ~]# mkdir /data/mysql -p
[root@molson ~]# chown mysql:mysql /data/mysql

  3:上传二进制程序并放入到/usr/local目录中并解压,创建软连接并授权,如下

[root@molson local]# tar xf mariadb-10.2.23-linux-x86_64.tar.gz 
[root@molson local]# ln -sv mariadb-10.2.23-linux-x86_64 mysql
"mysql" -> "mariadb-10.2.23-linux-x86_64"
[root@molson local]# chown -R root:mysql /usr/local/mysql/

  4:准备配置文件,如下

[root@molson local]# mkdir /etc/mysql
[root@molson mysql]# cp support-files/my-large.cnf  /etc/mysql/my.cfg

  并在/etc/mysql/my.cfg配置文件中添加如下内容,如下

[mysqld]中添加三个选项:
datadir= /data/mysql
innodb_file_per_table= on
skip_name_resolve= on    禁止主机名解析,建议使用

  如下图:

  

 5:创建数据库文件,如下 

[root@molson mysql]# cd /usr/local/mysql/
[root@molson mysql]# ./scripts/mysql_install_db  --datadir=/data/mysql --user=mysql

  

 6:准备服务脚本并启动,如下

  

[root@molson mysql]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
[root@molson mysql]# chkconfig --add mysqld

 [root@molson init.d]# service mysqld start

  注意:在这步启动的过程中很容易出错的,见如下报错的图片

  

  上图为服务启动失败

  

  上图为查看启动失败的原因,

  综上错误的原因及分析启动脚本,其中一个是mysql的配置文件没有设置启动用户为mysql,另外一个就是Mysql启动脚本的大坑,我参照mysql5.5中的wait_for_ready ()进行更改,启动服务成功,见下图

    

  

     修改后,执行systemctl daemon-reload命令,再重启服务,启动成功,如下图

       

  

 

 

7:添加环境变量,如下

  

[root@molson mysql]#  echo ‘PATH=/user/local/mysql/bin:$PATH’ > /etc/profile.d/mysql.sh

8:安全初始化,如下

  

[root@molson mysql]#  /usr/local/mysql/bin/mysql_secure_installation

  注意:执行上述安全初始化的时候,有时候会报错的,如下图

  

       主要原因就是把socker的文件放在/tmp/mysql.sock目录中了,这是centos系统默认的,更改到socket = /var/lib/mysql/mysql.sock就可以,如下:

  

socket = /var/lib/mysql/mysql.sock

  

    至此,二进制mariadb服务安装成功

  这个点了,可以准备睡觉了----00:19:31

 

posted @ 2020-09-12 00:27  Molson  阅读(606)  评论(0编辑  收藏  举报