(1)官网下载地址:https://dev.mysql.com/downloads/mysql/
此处下载的是 mysql-boost-5.7.24.tar.gz
百度云下载地址:https://pan.baidu.com/s/1wDAJawz2hUEMbzOVte-bdQ
提取码:gfqo
(2)安装依赖包
yum -y install \
ncurses \
ncurses-devel \
bison \
cmake \
make \
gcc-c++
(3)解压源码包并配置
cd /usr/local/src
tar -zxf mysql-boost-5.7.24.tar.gz
cd mysql-5.7.24/
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/usr/local/mysql \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_BOOST=boost
以下为上述配置的说明
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ 安装根目录
-DMYSQL_DATADIR=/data/3306/data \ 数据存储目录
-DSYSCONFDIR=/data/3306 \ 配置文件(my.cnf)目录 (貌似没用,配置文件依然在/etc/my.cnf)
-DWITH_MYISAM_STORAGE_ENGINE=1 \ 编译myisam存储引擎,默认的存储引擎,不加也可以
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ 支持InnoDB存储引擎,这个也是默认安装的
-DWITH_MEMORY_STORAGE_ENGINE=1 \ 支持MEMORY引擎
-DWITH_READLINE=1 \ 使用readline功能
-DMYSQL_UNIX_ADDR=/data/3306/mysql.sock \ sock存放到/data/3306目录
-DMYSQL_TCP_PORT=3306 \ 数据库端口
-DENABLED_LOCAL_INFILE=1 \ 可以使用load data infile命令从本地导入文件
-DWITH_PARTITION_STORAGE_ENGINE=1 \ 安装数据库分区
-DEXTRA_CHARSETS=all \ 支持所有字符集
-DDEFAULT_CHARSET=utf8 \ 默认字符集
-DDEFAULT_COLLATION=utf8_general_ci \ 设置默认效验字符集排序规则,要和DDEFAULT_CHARSET一起用
-DWITH_BOOST=boost 从MySQL 5.7.5开始Boost库是必需的
(4)编译及安装
make && make install
(5)添加用户和组
groupadd mysql
useradd -g mysql mysql
chown -R mysql:mysql /usr/local/mysql
(6)初始化
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/
注意:初始化完了需要记住root密码
出现以下说明初始化成功
2018-11-12T01:25:29.316210Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2018-11-12T01:25:30.314274Z 0 [Warning] InnoDB: New log files created, LSN=45790
2018-11-12T01:25:30.441468Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2018-11-12T01:25:30.512508Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: d7df9433-e619-11e8-804b-00163e0851f0.
2018-11-12T01:25:30.517175Z 0 [Warning] Gtid table is not ready to be used. Table ‘mysql.gtid_executed’ cannot be opened.
2018-11-12T01:25:30.517899Z 1 [Note] A temporary password is generated for root@localhost: _1ahqhzYqtMd
(7)写入环境变量
echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile
(8)修改配置文件
vim /etc/my.cnf
配置如下:
[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
socket = /usr/local/mysql/mysql.sock
user = mysql
symbolic-links=0
[mysqld_safe]
log-error = /usr/local/mysql/log-error/mariadb.log
pid-file = /usr/local/mysql/mariadb.pid
(9)创建日志文件并赋予权限
mkdir -p /usr/local/mysql/log-error/
touch /usr/local/mysql/log-error/mariadb.log
chown -R mysql:mysql /usr/local/mysql/log-error/mariadb.log
(10)启动Mysql
/usr/local/mysql/support-files/mysql.server start
(11)设置用户密码及权限
登录mysql:
mysql -u root -p
修改root用户密码:
SET PASSWORD = PASSWORD('123456');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;
授权所有用户:
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option; flush privileges;
查询数据库的用户:
use mysql;SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;quit; #退出mysql命令行
(12)设置为开机自动启动Mysql
vim /etc/rc.d/rc.local
添加标准启动命令:
/usr/local/mysql/support-files/mysql.server start
给/etc/rc.d/rc.local添加可执行权限
chmod +x /etc/rc.d/rc.local