Centos部署MySQL 5.7
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,一、环境准备服务器一台,下载我提供的源码包,并上传至服务器。二、部署安装MySQL1、安装gcc[root@mysql ~]# yum -y install gcc*2、卸载mariadb[root@
千家信息网最后更新 2025年02月01日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 --nodeps
3、安装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 install
4、安装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 install
5、安装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 install
6、安装boost
[root@mysql src]# tar zxf boost_1_59_0.tar.gz [root@mysql src]# mv boost_1_59_0 /usr/local/boost
7、创建MySQL用户及所需目录
[root@mysql src]# useradd -r -M -s /sbin/nologin mysql[root@mysql src]# mkdir -p /usr/local/mysql/data
8、安装及初始化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安全错误
数据库的锁怎样保障安全
网络安全微网文题目
什么叫网络安全不达标
河东区电子网络技术创造辉煌
苏州去哪学软件开发
临沂兴林互联网科技有限公司
职业软件开发的优势和劣势
软件开发的使用范围指什么
图书馆数据库的万方论文咋看
供应链软件开发公司前十名
imp 数据库字符集
长江委网络安全事件分为三级
农行k宝驱动连接服务器失败
开网吧服务器配置
校园周边食品数据库
非常好玩的网易版服务器
网络安全等级保护测评降级
网络安全设备验收方案
https代理软件开发
快速进入服务器
数据库设计与安全
闪阅精灵软件开发商
福建省网络安全监测
数据库期刊有哪些
上位机软件开发配置文件怎么保存
中学校园网络安全检查
统信服务器操作系统各版本区别
扬州千丰网络技术支持
网络安全活动方案格式
融合软件开发
云南大理棋牌软件开发