MYSQL INSTALLATION

1 下载

mysql 被收购后,不再提供源码,因此不可能再做源码安装。 想进行源码安装,可以选择Mariadb。

Oracle mysql: https://dev.mysql.com/downloads/mysql/

mariadb: https://downloads.mariadb.org/mariadb/+releases/ http://ftp.hosteurope.de/mirror/archive.mariadb.org/ 下载后,上传至服务器并解压。这是一般的步骤。对于不熟悉此操作的,请先熟悉 Linux基本操作.

2 安装

2.1 Mariadb源码安装

使用源码安装,解决依赖是一个前提。所以,服务器可以使用Yum 源,使用源码安装是一个 不错的选择,因为很多选项可以进行配置。比如安装路径。组件选择等。

2.1.1 版本

操作系统 mariadb
7.2.1511 10.1.40
7.5.1804 10.2.25

2.1.2 下载解压

选择需要版本下载. 然后上传至服务器/opt 路径 并解压。比如我解压后的路径是 /opt/mariadb-10.2.25

2.1.3 安装依赖包

rpm -e --nodeps mariadb-libs
yum install -y cmake ncurses-devel gcc gcc-c++ zlib-devel readline-devel openssl-devel libaio-devel mariadb-libs

另外安装依赖于gnutls,p11-kit 两个包。请参阅 编译安装-> 生成makeFile–>错误2 xf*** 创建组、用户、相关目录

groupadd mysql
useradd -g mysql -G mysql -d /home/mysql mysql
mkdir -p /usr/local/mysql
mkdir -p /home/mysql/data
mkdir -p /var/log/mysql
mkdir -p /var/run/mysql
chown -R mysql:mysql /usr/local/mysql
chown -R mysql:mysql /home/mysql/data
chown -R mysql:mysql /var/log/mysql
chown -R mysql:mysql /var/run/mysql
chcon -R system_u:object_r:mysqld_db_t:s0 /home/mysql/data

2.1.4 编译安装

  1. # 注意解压后的路径
    cd /opt/mariadb-10.3.15
    
    cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ -DMYSQL_DATADIR=/home/mysql/data -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DSYSCONFDIR=/etc \
    -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DWITH_READLINE=1 \
    -DENABLED_LOCAL_INFILE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_XTRADB_STORAGE_ENGINE=1 -DWITH_FEDERATEDX_STORAGE_ENGINE=1 \
    -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STPRAGE_ENGINE=1 -DWITHOUT_TOKUDB=1 -DENABLE_DOWNLOADS=1
    
    错误1
    -- Performing Test HAVE_STDCXX11
    -- Performing Test HAVE_STDCXX11 - Failed
    -- Performing Test HAVE_STDCXX0X
    -- Performing Test HAVE_STDCXX0X - Failed
    CMake Error at storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake:177 (message):
      /usr/bin/c++ doesn't support -std=c++11 or -std=c++0x, you need one that
      does.
    Call Stack (most recent call first):
      storage/tokudb/PerconaFT/CMakeLists.txt:38 (include)
    

    出现以上错误,是由于默认安装了tobudb. 此时,我们加上参数 -DWITHOUT_TOKUDB=1,表示不安装tokudb引擎. tokudb是MySQL中一款开源的存储引擎,可以管理大量数据并且有一些新的特性,这些是Innodb所不具备的,这里之所以不安装, 是因为一般计算机默认是没有Percona Server的,并且加载tokudb还要依赖jemalloc内存优化,一般开发中也是不用tokudb的, 所以暂时屏蔽掉,否则在系统中找不到依赖会出现如上错误。 – notes :: 编译失败后,需要执行 rm -f CMakeCache.txt 以清除编译缓存,才可以继续重新编译。

  • make && make install
    
    NOTES
    注意事项:
    重新时,需要清除旧的对象文件和缓存信息。 # make clean
    # rm -f CMakeCache.txt
    # rm -rf /etc/my.cnf
    
  • 安装好后,可用于systemctl或者service 服务的文件会自动生成:<path>/support-files/mysql.server
    将此文件复制至/etc/init.d/ 路径即可。

    cd /usr/local/mysql
    cp support-files/mysql.server /etc/init.d/mysqld
    
  • 2.1.5 安装数据库

    scripts/mysql_install_db --user=mysql --datadir=/home/mysql/data
    

    2.1.6 修改环境变量

    这里我将Mysql的bin 路径加载到了系统默认加载路径中。看官们自己决定添加位置

    vi /etc/profile
    # Path manipulation
    if [ "$EUID" = "0" ]; then
        pathmunge /usr/sbin
        pathmunge /usr/local/sbin
        pathmunge /usr/local/mysql/bin    --> 添加此行
    else
        pathmunge /usr/local/sbin after
        pathmunge /usr/sbin after
    fi
    
    source /etc/profile
    

    2.1.7 配置参数文件

    2.1.8 启动

    /etc/init.d/mysqld start
    

    相关文章:

    • 2021-10-31
    • 2022-01-08
    • 2022-01-12
    • 2021-12-11
    • 2021-11-26
    • 2022-03-07
    • 2021-12-19
    • 2021-06-22
    猜你喜欢
    • 2021-06-17
    • 2022-02-20
    • 2022-12-23
    • 2021-12-26
    • 2022-12-23
    • 2021-04-28
    • 2021-10-01
    相关资源
    相似解决方案