温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

CentOS7.4下MySQL5.7.28源码方式安装

发布时间:2020-07-29 16:31:17 来源:网络 阅读:715 作者:夜空下微笑 栏目:MySQL数据库

Linux系统版本:CentOS7.4
MySQL版本:5.7.28
在Linux平台有RPM包、二进制包、源码包3中安装方式,这一篇文章主要是以源码包为例来介绍如何在Linux平台下进行MySQL的安装。
下载地址:https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-boost-5.7.28.tar.gz
国内镜像:http://mirrors.163.com/mysql/Downloads/MySQL-5.7/mysql-boost-5.7.28.tar.gz
具体安装步骤如下:
(1)首先卸载mariadb,不然后面会和安装mysql需要的库冲突:

[root@localhost ~]# rpm -qa | grep mariadb
mariadb-libs-5.5.56-2.el7.x86_64
[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

(2)创建mysql用户和用户组:

[root@localhost ~]# groupadd mysql
[root@localhost ~]# useradd -r -g mysql -s /bin/false mysql

(3)创建MySQL安装目录和data目录:

[root@localhost ~]# mkdir /opt/mysql
[root@localhost ~]# mkdir -p /data/mysql
[root@localhost ~]# chown  mysql:mysql /opt/mysql
[root@localhost ~]# chown  mysql:mysql /data/mysql

(4)安装相关依赖:

[root@localhost ~]#yum install -y cmake make gcc gcc-c++ ncurses-devel  openssl-devel 

(4)编译安装:

[root@localhost ~]# tar -xvf mysql-boost-5.7.28.tar.gz
[root@localhost mysql-5.7.28]# cmake \
-DCMAKE_INSTALL_PREFIX=/opt/mysql \
-DMYSQL_DATADIR=/data/mysql \
-DMYSQL_USER=mysql \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 -DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/root/mysql-5.7.28/boost/boost_1_59_0/ \
-DMYSQL_DATADIR=/data/mysql \
-DWITH_SSL=system
[root@localhost ~]#make && make install

(5)初始化MySQL:

[root@localhost ~]# cd /opt/mysql/
[root@localhost mysql]# ./bin/mysqld --initialize --user=mysql --basedir=/opt/mysql --datadir=/data/mysql
2019-12-01T02:33:14.303069Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2019-12-01T02:33:16.484507Z 0 [Warning] InnoDB: New log files created, LSN=45790
2019-12-01T02:33:16.735058Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2019-12-01T02:33:16.816435Z 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: ee34514d-13e2-11ea-b534-000c29647ed4.
2019-12-01T02:33:16.818202Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2019-12-01T02:33:17.277339Z 0 [Warning] CA certificate ca.pem is self signed.
2019-12-01T02:33:17.415078Z 1 [Note] A temporary password is generated for root@localhost: og5Q0qgu6;Ui

生成临时密码为:og5Q0qgu6;Ui

(6)修改MySQL配置文件/etc/my.cnf,保存退出:

[root@localhost mysql]# vim /etc/my.cnf
[mysqld]
datadir=/data/mysql
socket=/data/mysql/mysql.sock
user=mysql
port=3306
default-storage-engine=InnoDB

[mysqld_safe]
log-error=/data/mysql/mysql-error.log
pid-file=/data/mysql/mysqld.pid

[client]
socket=/data/mysql/mysql.sock

(7)启动MySQL:

[root@localhost mysql]# bin/mysqld_safe --user=mysql &

(8)配置环境变量:

[root@localhost ~]# vim /etc/profile
#添加下面一行
export PATH=/opt/mysql/bin:$PATH
[root@localhost ~]# source /etc/profile

(9)登录并修改MySQL管理员密码:

[root@localhost mysql]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.28

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> set password = PASSWORD('root123456');
Query OK, 0 rows affected, 1 warning (0.00 sec)

(10)配置原程登录:

mysql> grant all privileges on *.* to root@'%' identified by 'root123456';
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI