編譯安裝mysql-5.6.40 mysql
環境說明 c++
系統版本 CentOS 7.2 x86_64 sql
軟件版本 mysql-5.6.40 數據庫
[root@db01 ~]# mkdir -p /service/tools 服務器
[root@db01 ~]# mkdir /application app
[root@db01 ~]# yum install ncurses-devel libaio-devel cmake gcc gcc-c++ glibc openssl-devel bison-devel -y 優化
[root@db01 ~]# useradd -s /sbin/nologin -M mysql spa
[root@db01 ~]# cd /service/tools/ 調試
[root@db01 tools]# wget https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.6/mysql-5.6.40.tar.gz server
[root@db01 tools]# tar xf mysql-5.6.40.tar.gz
[root@db01 tools]# cd mysql-5.6.40/
[root@db01 tools]# cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.40 \
-DMYSQL_DATADIR=/application/mysql-5.6.40/data \
-DMYSQL_UNIX_ADDR=/application/mysql-5.6.40/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_ZLIB=bundled \
-DWITH_SSL=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLE_DOWNLOADS=1 \
-DWITH_DEBUG=0
參數說明:
cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.40 \ #指定安裝目錄
-DMYSQL_DATADIR=/application/mysql-5.6.40/data \ #指定數據data目錄
-DMYSQL_UNIX_ADDR=/application/mysql-5.6.40/mysql.sock \ #指定sock路徑
-DDEFAULT_CHARSET=utf8 \ #指定默認字符集
-DDEFAULT_COLLATION=utf8_general_ci \ #指定默認校驗規則
-DWITH_EXTRA_CHARSETS=all \ #指定擴展支持的字符集
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ #啓用innodb存儲引擎
-DWITH_FEDERATED_STORAGE_ENGINE=1 \ #啓用Federated存儲引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ #啓用BLACKHOLE引擎
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \ #禁用EXAMPLE_STORAGE_ENGINE
-DWITH_ZLIB=bundled \ #啓用zlib支持
-DWITH_SSL=bundled \ #啓用ssl庫支持
-DENABLED_LOCAL_INFILE=1 \ #啓用加載本地數據
-DWITH_EMBEDDED_SERVER=1 \ #嵌入式服務器
-DENABLE_DOWNLOADS=1 \ #編譯時容許自主下載相關文件
-DWITH_DEBUG=0 #禁用調試模式
[root@db01 tools]# make && make install
[root@db01 mysql-5.6.40]# ln -s /application/mysql-5.6.40/ /application/mysql #建立軟連接
[root@db01 mysql-5.6.40]# \cp support-files/my*.cnf /etc/my.cnf #拷貝配置文件
[root@db01 mysql-5.6.40]# /application/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data --user=mysql #初始化
[root@db01 mysql-5.6.40]# chown -R mysql:mysql /application/mysql/ #修改目錄所屬
[root@db01 mysql-5.6.40]# \cp support-files/mysql.server /etc/init.d/mysqld #拷貝啓動腳本
[root@db01 mysql-5.6.40]# chmod +x /etc/init.d/mysqld #添加執行權限
[root@db01 mysql-5.6.40]# ll /etc/init.d/mysqld #檢查
-rwxr-xr-x 1 root root 10619 7月 1 16:06 /etc/init.d/mysqld
[root@db01 mysql-5.6.40]# /etc/init.d/mysqld start #啓動mysql
Starting MySQL.Logging to '/application/mysql-5.6.40/data/db01.err'.
SUCCESS!
[root@db01 mysql-5.6.40]# ln -s /application/mysql/bin/* /usr/bin/ #建立命令快捷方式
或者
[root@db01 ~]# echo 'PATH=/application/mysql/bin/:$PATH' >>/etc/profile
[root@db01 ~]# tail -1 /etc/profile
[root@db01 ~]# source /etc/profile
基本優化(清理用戶及無用數據庫)
mysql> select user,host from mysql.user;
mysql> drop user ''@'db01';
mysql> drop user ''@'localhost';
mysql> drop user 'root'@'db01';
mysql> drop user 'root'@'::1';
mysql> select user,host from mysql.user;
mysql> drop database test;
mysql> show databases;
或者根據mysql_secure_installation命令進行嚮導優化