Centos部署MySQL 5.7
发表于:2025-11-12 作者:千家信息网编辑
千家信息网最后更新 2025年11月12日,一、环境准备服务器一台,下载我提供的源码包,并上传至服务器。二、部署安装MySQL1、安装gcc[root@mysql ~]# yum -y install gcc*2、卸载mariadb[root@
千家信息网最后更新 2025年11月12日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安全错误
数据库的锁怎样保障安全
对话网络安全专家ctf
徐州hpe刀片服务器哪家好
稳抓网络安全
浪潮服务器配置管理口用户
主轴服务器报警OS
手机服务器的主机名
团队插件软件开发
数据库子查询返回多一行
网易云数据库架构设计
如何选择当前操作的数据库
万网服务器需要备案吗
质量信息化网络安全专业
局域网可以做sql服务器吗
自由服务器是什么
计算机网络技术专科实习时间
银行用的哪里的服务器
《学生网络安全》读后感
推进网络安全工作的保障措施
计算机网络技术专业职业兴趣
数据库表生成java
金仓数据库实例
hp 服务器 h3c
学校服务器的优缺点
怎么删除多个数据库
当今网络安全主题是什么
中国网络安全最牛的公司
平板登录哔哩哔哩服务器繁忙
jolt奖数据库重构
数据安全法和网络安全法
工行软件开发中心员工