源码包编译安装MariaDB-10.1.22

源码包编译安装MariaDB-10.1.22

1、获取源码包

       mariadb-10.1.22.tar.gz

2、编译环境及依赖关系

    yum groupinstall -y Development Tools
    yum -y install gcc gcc-c++ make cmake ncurses ncurses-devel man ncurses libxml2 libxml2-devel openssl-devel bison bison-devel

3、创建mysql用户

    ~]# groupadd mysql
    ~]# useradd -s /sbin/nologin -g mysql -M mysql
    ~]# id mysql
    uid=500(mysql) gid=500(mysql) 组=500(mysql)
    ~]# ~]# mkdir /mydata/data -pv
    ~]# chown mysql:mysql /mydata/data/ -R

4、编译安装mariadb-10.1.22

解压源码包:

    ~]# tar xf mariadb-10.1.22.tar.gz

编译安装MariaDB:

    ~]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \            
    -DMYSQL_DATADIR=/mydata/data  \                                     
    -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

    参考:https://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html

    ~]# make -j 4
    ~]# make install

5、配置安装MariaDB

    ~]# cd /usr/local/mysql/
    ~]# scripts/mysql_install_db --user=mysql --datadir=/mydata/data
    ~]# ls /mydata/data/
    aria_log.00000001  ib_logfile0        mysql             performance_schema  test-jian.pid
    aria_log_control   ib_logfile1        mysql-bin.000001  test
    ibdata1            multi-master.info  mysql-bin.index   test-jian.err

6、MariaDB配置文件创建及更改,有模版

    ~]# mkdir /etc/mysql
    ~]# cp support-files/my-large.cnf /etc/mysql/my.cnf
    ~]# vim /etc/mysql/my.cnf 
    [mysqld]
    port            = 3306
    datadir         = /mydata/data
    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
    # Try number of CPU's*2 for thread_concurrency
    thread_concurrency = 8
    innodb_file_per_table = on
    skip_name_resolve = on

创建服务脚本:

    ~]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld 
    ~]# chkconfig --list mysqld
    ~]# chkconfig --add mysqld

启动mysqld服务,测试启动:

    ~]# service mysqld start

7、设置环境变量

    ~]# vim /etc/profile.d/mysqld.sh
    MYSQL_HOME=/usr/local/mysql
    export PATH=$MYSQL_HOME/bin:$PATH

加载环境变量:

    ~]# source /etc/profile.d/mysqld.sh

连接MySQL:

    ~]# mysql
    Welcome to the MariaDB monitor.  Commands end with ; or \g.
    Your MariaDB connection id is 17
    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)]>

原创文章,作者:641348038@qq.com,如若转载,请注明出处:http://www.178linux.com/71200

(2)
641348038@qq.com641348038@qq.com
上一篇 2017-03-16 16:18
下一篇 2017-03-16 16:27

相关推荐

  • 马哥教育网络班22期+第四周课程练习

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限 [root@localhost ~]# cp -rf /etc/skel/ /home/tuser1 &> /dev/null [root@localhost ~]# chmod -R go= /home/tus…

    Linux干货 2016-09-07
  • 7-28-文件管理

    1.stat命令和时间戳 详解 背景:                在Linux中,没有文件创建时间的概念。只有文件的访问时间、修改时间、状态改变时间。也就是说不能知道   &n…

    Linux干货 2016-08-02
  • 为你的网络传输加把锁(OpenSSL)

    互联网形成的初期,更多关注的是设备之间通过网络相互访问功能的实现,我们都知道,两个设备之间要想相互通信,就必需遵循某种协议,于是早期的互联网也出现来众多的协议,比如传输层最著名的协议就是tcp和udp,而应用层比较著名的协议有:http、ftp、pop、smtp、dns、telnet等等,而这些协议这开发初期,更多是关注功能的实现,数据这网络上传输是明文方式…

    Linux干货 2015-12-06
  • 纯文本配置还是注册表

    我们知道Unix/Linux下的程序配置文件从来都是纯文本的,你可以自由地修改和查看,他们也没有什么什么XML之类的玩意(参看XML的这两篇文章:一,二),这个最重要的Unix文化(参看Unix传奇下篇)40多年来就这么沿续下来了。我很佩服Microsoft的创新能力,一会儿用INI,一会儿用注册表,一会又是用XML,这就是Windows的编程中那“强大”的…

    Linux干货 2016-08-15
  • 构建NP和NMP

    实验一、构建NP (一)实验布置:两台虚拟机充当代理服务器和后端服务器,一台虚拟机充当客户端。 (二)实验目的:实现NP的搭建。 (三)实验图解: (四)实验步骤: 1、  在后端服务器安装php-fpm文件,修改PHP-FPM的配置文件,vim/etc/php-fpm.d/www.conf文件,如下: listen = 127.0.0.1:900…

    2017-05-07
  • 第三周作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次既可。 [root@director ~]# who | cut -d' ' -f 1 | sort | uniq &nbsp…

    Linux干货 2016-12-13

评论列表(1条)

  • 马哥教育
    马哥教育 2017-03-29 17:36

    非常详细的使用介绍,加油。