十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
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需要的库冲突:
创新互联主要从事成都做网站、网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务麻章,10余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:028-86922220
[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)