Centos部署MySQL 5.7
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,一、环境准备服务器一台,下载我提供的源码包,并上传至服务器。二、部署安装MySQL1、安装gcc[root@mysql ~]# yum -y install gcc*2、卸载mariadb[root@
千家信息网最后更新 2026年11月03日Centos部署MySQL 5.7
一、环境准备
服务器一台,下载我提供的源码包,并上传至服务器。
二、部署安装MySQL
1、安装gcc
[root@mysql ~]# yum -y install gcc*2、卸载mariadb
[root@mysql ~]# yum -y erase mariadb[root@mysql ~]# rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps3、安装cmake
[root@mysql src]# tar zxf cmake-3.13.4.tar.gz [root@mysql src]# cd cmake-3.13.4/[root@mysql cmake-3.13.4]# ./bootstrap [root@mysql cmake-3.13.4]# gmake && gmake install4、安装ncurses
[root@mysql cmake-3.13.4]# cd ../[root@mysql src]# tar zxf ncurses.tar.gz[root@mysql src]# cd ncurses-6.1/[root@mysql ncurses-6.1]# ./configure && make && make install5、安装bison
[root@mysql src]# tar zxf bison-3.3.tar.gz [root@mysql src]# cd bison-3.3/[root@mysql bison-3.3]# ./configure && make && make install6、安装boost
[root@mysql src]# tar zxf boost_1_59_0.tar.gz [root@mysql src]# mv boost_1_59_0 /usr/local/boost7、创建MySQL用户及所需目录
[root@mysql src]# useradd -r -M -s /sbin/nologin mysql[root@mysql src]# mkdir -p /usr/local/mysql/data8、安装及初始化MySQL
#安装MySQL[root@mysql src]# tar zxf mysql-5.7.24.tar.gz [root@mysql src]# cd mysql-5.7.24/[root@mysql mysql-5.7.24]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_SYSTEMD=1 -DWITH_BOOST=/usr/local/boost && make && make install#配置环境变量[root@mysql mysql-5.7.24]# echo 'export PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile[root@mysql mysql-5.7.24]# . /etc/profile[root@mysql mysql-5.7.24]# cd /usr/local/mysql/[root@mysql mysql]# chown -R mysql.mysql . #更改当前目录下的属主及属主#进行初始化[root@mysql mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data当执行初始化操作后,在返回信息的最后一行,将显示着MySQL数据库root用户的密码,也有可能不显示,那就说明root用户没有密码,我这里显示的密码如下(此密码需要先复制到一个文本上,一会修改密码需要用到,如果此密码丢失,需要重新初始化MySQL,重新初始化目录的步骤:删除/usr/local/mysql/data目录下的所有文件及目录,然后才可以重新初始化成功):
9、配置并启动MySQL
#再次修改当前目录下的属组及属主(初始化后,产生的一些文件)[root@mysql mysql]# chown -R mysql.mysql .#编写MySQL的主配置文件[root@mysql mysql]# vim /etc/my.cnf #默认打开是个空文件,编写以下内容[mysqld]basedir=/usr/local/mysqldatadir=/usr/local/mysql/dataport=3306server_id=1 #当架构中存在多个MySQL服务器,那么这个server_id就是各个MySQL数据库的唯一性。socket=/usr/local/mysql/mysql.socklog-error=/usr/local/mysql/data/mysqld.errsql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION#复制其服务脚本并启动MySQL[root@mysql mysql]# cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system[root@mysql mysql]# systemctl enable mysqld.service [root@mysql mysql]# systemctl start mysqld.service当执行上述启动命令,肯定是会报错的,报错信息如下:

通过MySQL错误日志,定位问题所在,如下:
[root@mysql mysql]# tail data/mysqld.err #查看错误日志,找到error字段2019-12-02T13:31:25.799322Z 0 [Note] InnoDB: 5.7.24 started; log sequence number 25914402019-12-02T13:31:25.799512Z 0 [Note] Plugin 'FEDERATED' is disabled.2019-12-02T13:31:25.802747Z 0 [Warning] Failed to set up SSL because of the following SSL library error: SSL context is not usable without certificate and private key2019-12-02T13:31:25.802760Z 0 [Note] Server hostname (bind-address): '*'; port: 33062019-12-02T13:31:25.802794Z 0 [Note] IPv6 is available.2019-12-02T13:31:25.802802Z 0 [Note] - '::' resolves to '::';2019-12-02T13:31:25.802811Z 0 [Note] Server socket created on IP: '::'.2019-12-02T13:31:25.803063Z 0 [Note] InnoDB: Loading buffer pool(s) from /usr/local/mysql/data/ib_buffer_pool2019-12-02T13:31:25.803985Z 0 [Note] InnoDB: Buffer pool(s) load completed at 191202 21:31:252019-12-02T13:31:25.804236Z 0 [ERROR] Can't start server: can't check PID filepath: No such file or directory#就在最后一行,提示没有PID filepath的文件或目录解决办法如下:
修改其服务控制脚本中指定的PID路径即可,如下:
[root@mysql mysql]# vim /usr/lib/systemd/system/mysqld.service #编辑此文件PIDFile=/usr/local/mysql/mysqld.pid #修改此行ExecStart=/usr/local/mysql/bin/mysqld --daemonize --pid-file=/usr/local/mysql/mysqld.pid $MYSQLD_OPTS#修改此行,都是修改的pid路径10、确定MySQL数据库启动成功
#重新加载配置文件[root@mysql mysql]# systemctl daemon-reload #重启MySQL[root@mysql mysql]# systemctl restart mysqld#确定端口在监听[root@mysql mysql]# netstat -antp | grep 3306tcp6 0 0 :::3306 :::* LISTEN 106760/mysqld 11、重启MySQL的root登录密码
#修改密码为123.com[root@mysql mysql]# mysqladmin -u root -p password '123.com'Enter password: #这里输入初始化MySQL后返回的密码#执行成功后,会输出一些warning类的提示信息,无关紧要的,是提示直接将新密码暴露在了终端,不安全。#使用新密码进行登录MySQL进行测试[root@mysql mysql]# mysql -u root -p123.com附加:基本MySQL语句
mysql> show databases; #查询所有库mysql> show schemas; #同上mysql> create database ljz_db; #创建一个名为ljz_db的库mysql> use ljz_db; #切换至新建的库mysql> create table ljz_table(id int); #创建一个表,只有一个id列mysql> insert into ljz_table values(24); #表中插入数据mysql> selectl * from ljz_table; #查询表中的数据mysql> show create database ljz_db; #查看库的详细信息mysql> select database(); #查询当前所在库mysql> drop database ljz_db; #删除库-------- 本文至此结束,感谢阅读 --------
密码
文件
目录
数据
服务
信息
配置
成功
数据库
服务器
用户
提示
查询
一行
所在
日志
环境
脚本
路径
错误
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
保险科技 互联网保险
华服互联网科技怎么样
互联网科技公司起名
互联网科技工作委员会
互联网金融监管科技数据
互联网与科技金融数据
网络科技有限互联网
互联网科技开发公司
科技服务与互联网
互联网科技媒体
北京禾田雨橡互联网科技
互联网 新科技
互联网公司会议桌创意科技软装饰
哈尔滨屹滨互联网科技有限公司
互联网领先科技宣传片
互联网科技包装股份有限公司上市
云南互联网科技学费
好易买互联网科技
安徽零酒互联网科技有限公司
广东猫王互联网科技有限公司电话
互联网 科技创新
互联网科技创新服务
花神(南京)互联网科技有限公司
恒生互联网科技指数跳水
燊美集互联网科技有限公司
济南有互联网科技公司吗
互联网企业科技类企业如何做账
富国互联网科技002692
图游互联网科技
科技互联网公司两年变化