環境: CentOS6.9 軟件版本 編譯安裝 mariadb-10.2.12.tar.gz 1查詢本地是否已經安裝mysql(卸載之不然會報錯); rpm -qa | grep mysql [root@user ~ 13]#rpm -qa | grep mysql 2.安裝相關開發包組: yum -y groupinstall development tools yum cmake ncurses-devel gnutls-devel libaio-devel 3.查詢用戶:(若用戶已經存在不用常見) getent passwd mysql [root@user ~ 16]#getent passwd mysql 4..建立mysql系統用戶: useradd -r mysql -s /sbin/nologin [root@user ~ 17]#useradd -r mysql -s /sbin/nologin mysql:x:990:305::/home/mysql:/sbin/nologin 5.解壓源碼包 mariadb-10.2.12.tar.gz tar xvf mariadb-10.2.12.tar.gz -C /usr/local/ [root@user ~ 25]#tar xvf mariadb-10.2.12.tar.gz -C /usr/local/ 6.cd進解壓目錄 [root@user ~ 25]#cd /usr/local/ [root@user /usr/local 26]#ls bin etc games include lib lib64 libexec mariadb-10.2.12 mysql sbin share src 7..執行cmake make && make install (預計時間30分鐘) cmake . \ -DCMAKE_INSTALL_PREFIX=/app/mysql \ -DMYSQL_DATADIR=/mysqldb/ \ -DSYSCONFDIR=/etc \ -DMYSQL_USER=mysql \ -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 \ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DWITH_DEBUG=0 \ -DWITHOUT_MROONGA_STORAGE_ENGINE=1 make && make install 8.把/app目錄下的mysql目錄 屬主mysql 屬組mysql chown -R mysql.mysql mysql/ (危險操做) 9.準備mysql的配置文件;support-file目錄裏全部以.cnf結尾的配置模版文件拷貝到etc下加以修改便可: cp -a myhuge.cnf /etc/my.cnf (-a 保留權限) 10.拷貝mysql.server 文件到 /etc/init.d/mysqld.sh(啓動fw) cp -a mysql.server /etc/init.d/mysqld.sh 11.初始化數據庫: cd /app/mysql/ scripts/mysql_installl_db --user=mysql --datadir=/data/mtsqldb 指定以mysql用戶的身份 路徑在配置文件指定(數據存放位置) 也能夠寫在這裏 =看到OK 沒有報錯表示初始化成功; = =12.添加開機啓動 #chkconfig --add mysqld #chkconfig mysqld on [root@centos7 /app/mysql 106]#chkconfig --list mysqld Note: This output shows SysV services only and does not include native systemd services. SysV configuration data might be overridden by native systemd configuration. If you want to list systemd services use 'systemctl list-unit-files'. To see services enabled on particular target use 'systemctl list-dependencies [target]'. mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off 13.啓動服務: #systemctl start mysqld ss -tnl 查看3306是否處於監聽狀態 14.編譯安裝完成 mysql默認沒有密碼 記得設置mysql root用戶的密碼 運行安全腳本