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

一、下载源文件

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

二、安装前准备

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

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

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

             也可以使用 

[root@bogon ~]# yum install lrzsz -y
[root@bogon ~]#rz 
# 输入rz后会弹出一个窗口,可以直接点击你要传输的文件。

(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虚拟机上面的地址。

猜你喜欢

转载自blog.csdn.net/wsy_miao/article/details/106199395