Centos部署MySQL 5.7
发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,一、环境准备服务器一台,下载我提供的源码包,并上传至服务器。二、部署安装MySQL1、安装gcc[root@mysql ~]# yum -y install gcc*2、卸载mariadb[root@
千家信息网最后更新 2024年11月11日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安全错误
数据库的锁怎样保障安全
威纶通配方数据库建不了
网络技术与设计是冷门专业吗
其他国家网络安全计划
网络安全信息办
网络安全主题的征文题目
山东大学空间网络安全学院
软件开发实习生有厂招聘吗
武汉映盛网络技术股份有限公司
淮阴区横丰网络技术中心
虚拟现实软件开发流程
河源软件开发职校
通嘉互联网科技有限公司
数据库设计属性
网络安全风险事件案例
深圳软件开发无需经验全程扶持
网络安全手抄报间单
平安医疗软件开发薪资结构
数据库属于什么数据类型
以网络安全为议题
县网信办网络安全检查行动
威纶通配方数据库建不了
渝北区数据库小学课表
深圳电脑软件开发费用
研究生银行软件开发
网络安全龙头任子行
安徽网络安全审计硬件生产厂家
灵牛网络技术有限公司
服务器php安全
数据库的控制文件内容一样吗
软件服务和软件开发增值税率