环境说明 系统版本 CentOS 7.2 x86_64 软件版本 mysql-5.6.40
编译步骤如下:
代码语言:javascript复制[root@db01 ~]# mkdir -p /service/tools
[root@db01 ~]# mkdir /application
[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
[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
[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
[root@db01 tools]# make && make install
参数说明:
代码语言:javascript复制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 #禁用调试模式
后续步骤:
代码语言:javascript复制[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
基本优化(清理用户及无用数据库)
代码语言:javascript复制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命令进行向导优化