linux 下脚本安装 mysql_linux(centos7)下编译安装mysql(数据库)一键安装详解+脚本文件...

一、下载源文件

官网下载地址: https://downloads.mysql.com/archives/community/

二、安装前准备

(1)、开始之前先把虚拟机内存调大,避免安装时间过长和卡慢

此处我调的内存为8个G(我的Windows内存为12G),如果你的电脑没有这么大运行内存可适度调小,避免电脑卡死。

5bca349ff72b82512d88935da631cabb.png

(2)、将Windows下载的文件转移到liunx里面去,可以用xftp

也可以使用

[root@bogon ~]# yum install lrzsz -y

[root@bogon ~]#rz

# 输入rz后会弹出一个窗口,可以直接点击你要传输的文件。

5826952a0cc10189c214d861dd584b6c.png

(3)

#安装解决软件依赖关系的包

yum install cmake ncurses-devel gcc gcc-c++ vim lsof bzip2 openssl-devel -y

#解压src的rpm包

rpm -ivh mysql-community-5.7.29-1.el7.src.rpm

#进入/root/rpmbuild目录

cd /root/rpmbuild/SOURCES

#新建用户

useradd -r -s /sbin/nologin mysql

#新建数据目录

mkdir -p /data/mysql

#修改数据目录的拥有者为mysql

chown mysql:mysql /data/mysql

#解压真正的源码包

tar xf mysql-5.7.29.tar.gz

tar xf boost_1_59_0.tar.bz2

#将boost包移动到mysql解压的包里

mv boost_1_59_0 mysql-5.7.29

#进入解压后的目录

cd mysql-5.7.29

#编译前的配置

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/wang_mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc -DMYSQL_USER=mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_BOOST=boost_1_59_0

其中-DCMAKE_INSTALL_PREFIX=/usr/local/wang_mysql

wang_mysql可以使用其他名字

三、开始安装

注意:1.所在目录应该是当前配置的目录

2.安装前尽量关闭其他虚拟机和其他大型应用软件

make -j4 && make install

# 使用4个进程去安装会速度比较快

# 如果电脑配置比较低则可以使用两个进程安装

安装过程中电脑CPU和内存会大量消耗

-----------------漫长的等待(大概30-40+min)

安装完成之后如果电脑卡慢可以poweroff关闭 虚拟机,再将虚拟机配置调小(我一般配置为2核,2G)

四、

#备份原来的my.cnf配置文件,然后清空这个文件,这个文件是mariadb的配置文件,不是mysql的

cp /etc/my.cnf /root/mysql.cnf.bak

>/etc/my.cnf

cd /usr/local/wang_mysql/bin

./mysqld --initialize --user=mysql --basedir=/usr/local/wang_mysql/ --datadir=/data/mysql &>/root/temp_password.txt

#修改PATH变量,在linux系统里可以找到我们编译安装的mysql相关的命令

#/etc/profile /etc/bashrc /root/.bashrc /root/.bash_profile

echo "PATH=$PATH:/usr/local/wang_mysql/bin" >>/etc/bashrc

#修改PATH变量,让linux系统里有mysql相关的命令

PATH=$PATH:/usr/local/wang_mysql/bin

echo 'PATH=$PATH:/usr/local/wang_mysql/bin' >>/etc/bashrc

#第10步:就是拷贝mysqld的程序文件到指定的目录,方便后面设置mysqld服务开机启动--》mysqld服务的启动、停止、重启的脚本

cp ../support-files/mysql.server /etc/init.d/mysqld

#第11步:关闭防火墙和selinux

#关闭防火墙firewalld服务

service firewalld stop

#设置firewalld服务开机不启动

systemctl disable firewalld

#临时关闭selinux

setenforce 0

#永久修改selinux配置文件里的内容

sed -i 's/=enforcing/=disabled/g' /etc/selinux/config

#第12步:设置MySQL开机启动

chkconfig mysqld on

#第13步:启动MySQL

service mysqld start

#第14步:登录进去MySQL并且重新设置密码wang123#

#从保存的临时密码文件里,截取出临时密码,

cat /root/temp_password.txt |tail -1|awk '{print $11}'

# 进入mysql

mysql -uroot -p'***********'

# -p后面就是截取到的临时密码

#给MySQL设置密码为wang123#

mysql> alter user root@localhost identified by 'wang123#';

exit #退出

再次进入时就可以使用刚修改的密码

将二、三、四的命令直接复制然后保存到一个脚本,然后bash该脚本就可以直接一键安装等待了。

五、修改配置文件

vim /etc/my.cnf

# 在安装之后我们已经把my.cnf清空了,现在可以再加上配置文件

[mysqld_safe]

log-error=/var/log/mysql/mysql.log

#这是指定mysql的日志文件的路径

#指定mysqld_safe进程的配置

#需要在mkdir /var/log/mysql 目录,然后使用命令chown mysql:mysql /var/log/mysql

#因为mysql进程需要往/var/log/mysql目录里写东西,需要权限,不然不能往目录下写日志

[client]

#指定mysqld的socket文件所在的路径,/data/mysql目录一定要先存在。可以新创建

socket=/data/mysql/mysql.sock

[mysqld]

socket=/data/mysql/mysql.sock

port = 3306

open_files_limit = 8192

innodb_buffer_pool_size = 256M

[mysql]

auto-rehash

prompt=\\u@\\d \\R:\\m wangmysql>

#@是分隔符

#\\d 当前所在的数据库的名字

#\\R:\\m 当前linux系统里的时间

# mysql> 固定的内容,可以增加你想要的字符串

修改配置文件后,需要刷新mysql的服务

service mysqld restart

查看mysql进程是否存在可以用

ps aux|grep mysql

这样编译安装就完成了,一定要注意用到的文件路径是否存在,不存在就新建再刷新服务。

六、连接到windows上面的SQLyog

grant all on *.* to 'wang'@'192.168.1.103'identified by 'Wang123#';

# 新建用户wang并授予所有权限 IP地址为Windows主机地址 密码为Wang123#

在SQLyog输入刚新建用户和设置的密码,ip地址为linux虚拟机上面的地址。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/339465.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为什么学习C语言这么久,看的懂代码,做不出题,写不出来项目?

前言我看得懂别人的程序,可是我自己却写不出来,我应该怎么办啊?你了解这些嘛?你只是能从别人书写的代码知道每一步都做些什么吧?你明白别人的解题思路吗?你知道别人为什么要用那样的算法吗?如果…

如何在AWS中启动EC2实例

你好朋友, 在本教程中,我们将看到如何立即在AWS中旋转EC2实例。 您应该可以访问AWS控制台。如果您还没有AWS账户,则可以单击此处并在AWS上创建免费套餐。 如何在AWS中启动EC2实例 步骤1 : 使用您的凭证登录到您的AWS账户。 第…

git提交过滤package.json_eclipse配置git环境以及使用git提交本地仓和远程仓

一、Eclipse上安装GIT插件EGitEGit插件地址:http://download.eclipse.org/egit/updatesOK,随后连续下一步默认安装就可以,安装后进行重启Eclipse二、在Eclipse中配置EGitPreferences > Team > Git > Configuration注意这里的user.na…

C语言求一元二次方程的根,这题很简单嘛?看看这种想法很惊奇!

数学基础:一元二次方程只含有一个未知数(一元),并且未知数项的最高次数是2(二次)的整式方程叫做一元二次方程。标准形式为:axbxc0(a≠0)。求解公式:求根公式法用求根公式…

新手学C语言会踩到什么样的坑?

C语言因为是很多计算机大学生的必修课,所以这门编程语言的小白很多,很多萌新都在学习的过程中流下了无数心酸的泪水。例如刚开始学习的“hello world”程序,这基本上是每个人踏入程序员的第一步,很多人的雄心壮志就是从这里开始的…

使用Spring Security进行简单身份验证

朋友不允许朋友写用户身份验证。 厌倦了管理自己的用户? 立即尝试Okta的API和Java SDK。 在几分钟之内即可对任何应用程序中的用户进行身份验证,管理和保护。 身份验证对于除了最基本的Web应用程序之外的所有应用程序都至关重要。 谁在发出请求&#xf…

python程序、画一个笑脸_如何使用canvas画一个微笑的表情(代码示例)

本篇文章给大家带来的内容是关于如何使用canvas画一个微笑的表情(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。实习期间让我用canvas画一个表情,比较简单,话不多说直接上代码:…

C语言项目:水波纹效果实现

今天教大家一个比较简单的C语言程序,通过用easyx库实现的水波纹效果。说到这里可能大家对水波纹似懂非懂,那么你肯定玩过这游戏吧!编辑打水漂我们捡一块扁平的小石头或者瓦片,角度稍微倾斜的甩出去,在力的作用力下&…

jboss fuse 教程_在JBoss Fuse / Fabric8 / Karaf中使用Byteman

jboss fuse 教程您是否曾经尝试了解一些简单的东西不起作用的过程? 您正在任何众所周知的上下文中编写代码,无论出于何种原因它都无法正常工作。 而且您信任您的平台,因此您认真阅读了所有日志。 而且您仍然不知道为什么某些行为不符合预期…

前端用sql 还是mysql_前端小白安装MySQL的踩坑路

1、首先进入官网下载MySQL然鹅当我进入官网,是这样的!这是看不起我大学英语六级水平么,这个下载也太奇怪了。点进去也找不到在哪里。(可能是我太傻,勿喷哈)最后我找到了这个下载链接,奶思开始下载!我下载的…

C语言项目:绽放的玫瑰花

剁手节已经过去几天了,当天成交量达到了恐怖的2000多亿,不知道大家贡献了多少呢?然而大家还有多少人记得双十一是光棍节呢?广大单身汪同胞还在苦苦挣扎,“大!家!不!要!慌…

C语言项目:黑客帝国之数字雨

编辑相信大家看过许许多多的关于计算机黑客、骇客、人工智能、AI方面的电影,每当黑客入侵某个五角大楼,某个网站时,都会出现这样一幅画面:编辑然后就轻而易举的成功入侵夺取管理员权限了,这时候的我们,心情…

idea样式报错_来自强迫症患者的IDEA设置

IDEA的功能强大毋庸置疑,配置选项也是多到让人眼花缭乱。然而不是所有的配置都是用户需要的,特别是强迫症患者更是难伺候。今天和大家分享下个人的配置和。持续更新中,也欢迎大家补充。Duplicated code取消重复代码提示Settings -> Editor…

C语言项目:扫雷大战精简版

一直说写个几百行的小项目,于是我写了一个控制台的扫雷,没有想到精简完了代码才200行左右,不过考虑到这是我精简过后的,浓缩才是精华嘛,我就发出来大家一起学习啦,看到程序跑起来能玩,感觉还是蛮…

mysql ignore 1 lines_MYSQL使用笔记(1)

创建用户 用户名 dnsexpuser 密码:dnsexp1347insert into mysql.user(Host,User,Password) values (localhost,dnsexpuser,password(dnsexp1347)) ;创建数据库分配数据库权限create database wap_tagdb ;grant all privileges on wap_tagdb.*to waptaglocalhost ide…

C语言十大经典例题:附答案

1、/*输出9*9口诀。共9行9列&#xff0c;i控制行&#xff0c;j控制列。*/#include <stdio.h>int main(){ int i,j,result;for (i1;i<10;i){ for(j1;j<10;j){resulti*j;printf("%d*%d%-3d",i,j,result);/*-3d表示左对齐&#xff0c;占3位*/}printf(&qu…

C语言项目:图形马赛克处理技术

每个人都有讨厌的人&#xff0c;例如我就比较讨厌三个姓马的人&#xff0c;马云、马化腾和马赛克。马云骗女人的钱&#xff0c;马化腾骗孩子的钱&#xff0c;马赛克阻挡了人们的分享和交流 。那么大家是不是知道我们今天要分享的项目是什么啦&#xff1f;马赛克处理技术莫非就是…

C语言项目:灰度处理技术

Hello&#xff0c;今天给大家带来的是一个比较简单的图形处理技术-灰度处理技术。那么到底什么是灰度处理技术呢&#xff1f;简单来说&#xff0c;所谓的灰度处理技术就是把一张彩色的图片变成一张灰色的图片。如下图所示&#xff0c;左边是原图&#xff0c;右边则是已经被处理…

C语言项目:推箱子大战

还记得大家小时候玩过的游戏吗&#xff1f;曾经的坦克大战、推箱子、贪吃蛇都是我们以前玩过的小游戏&#xff0c;然而现在随着大型单机、网络游戏的光芒照耀下&#xff0c;那些曾经的小游戏都渐渐消失了&#xff0c;也或许是我们都已经长大了吧。那么今天&#xff0c;我给大家…

java项目加减乘除验证码_课堂Java小程序(加减乘除与验证码)

一、编写一个程序&#xff0c;用户输入两个数&#xff0c;求出其加减乘除&#xff0c;并用消息框显示计算结果。1.设计思想&#xff1a;从键盘输入两个数字和运算符&#xff0c;然后计算。将输入的数字及运算符由字符型转换为整型&#xff0c;再用if判断输入的运算符&#xff0…