MySQL5.7 免编译安装

参考:https://blog.csdn.net/weixin_26804345/article/details/113422487

1、关闭防火墙

- 关闭防火墙
systemctl stop firewalld  
systemctl disable firewalld
- 关闭selinux
setenforce 0
sed /etc/selinux/config 
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
- 修改主机名
hostnamectl set-hostname master

2、旧版本卸载

[root@localhost ~]# rpm -qa |egrep -i 'mysql|mariadb'
mariadb-libs-5.5.68-1.el7.x86_64
[root@localhost ~]# yum remove -y mariadb-libs-5.5.68-1.el7.x86_64

3、安装依赖包(不涉及到编译可选)

# yum -y install gcc gcc-c++ ncurses ncurses-devel cmake bison bison-devel

4、创建用户和目录

[root@localhost ~]# groupadd mysql
[root@localhost ~]# useradd -s /sbin/nologin mysql
[root@localhost ~]# mkdir -p /data/mysql
[root@localhost ~]# chown -R mysql:mysql /data/mysql

5、下载mysql安装

[root@localhost ~]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.40-el7-x86_64.tar.gz
[root@localhost src]# mv mysql-5.7.40-el7-x86_64 /usr/local/mysql
[root@localhost ~]# chown -R mysql:mysql /usr/local/mysql
[root@localhost src]# cd /usr/local/mysql/bin/
[root@localhost bin]# ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
...
2025-12-30T08:31:47.408511Z 0 [Warning] CA certificate ca.pem is self signed.
2025-12-30T08:31:47.440029Z 1 [Note] A temporary password is generated for root@localhost: aN>Xo5Tu/Nur
[root@localhost bin]#

6、主配置文件

[root@test mysql]# egrep  -v "#|^$" /etc/my.cnf        配置主配置文件,初始版本。
[mysqld]
datadir=/data/mysql
symbolic-links=0
[mysqld_safe]
log-error=/data/mysql/localhost.log

7、启动准备

加入环境变量
echo -e 'export PATH=/usr/local/mysql/bin:$PATH'>>/etc/profile && source /etc/profile

配置启动文件,开机自启动
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql]# chmod +x /etc/init.d/mysqld
[root@test mysql]# vim /etc/init.d/mysqld         配置启动文件目录
basedir=/usr/local/mysql
datadir=/data/mysql
[root@localhost ~]# chkconfig mysqld on
[root@localhost ~]# chkconfig --list  

8、启动MySQL

启动
[root@localhost ~]# /etc/init.d/mysqld start
Starting MySQL.Logging to '/data/mysql/localhost.localdomain.err'.
SUCCESS!
[root@localhost mysql]# systemctl status mysqld # 查看

9、修改MySQL

初始密码在./mysqld --initialize 过程中生成。找不到的话,只能通过--skip-grant-tables跳过设置。
[root@localhost ~]# mysql -uroot -p'aN>Xo5Tu/Nur'
mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> set PASSWORD = PASSWORD('Test#123');    
mysql> flush privileges;
mysql> quit
Bye
[root@localhost ~]#
 

 

 

posted @ 2025-12-30 17:25  wang_wei123  阅读(2)  评论(0)    收藏  举报