目录
RedHat7.6安装MySQL5.7
1、卸载系统预置的mariadb
2、准备安装环境
数据库初始化
1、修改属主和属组
2、数据库初始化
3、建立存储ssl的位置
4、建立mysql配置文件my.cnf
5、启动MySQL
6、查看端口
7、修改密码
8、登录mysql
环境准备:硬盘剩余空间最少8G,内存剩余最少2G
我使用的操作系统是Redhat7.6
Mysql官网下载地址:https://dev.mysql.com/downloads/mysql/
在Mysql官网下载列表中选择需要安装的版本:
进入MySQL网站后默认显示是8.0版本,想下载其他版本,请往下看:
选择需要安装的MySQL版本和系统
我选择的是5.7.34版本来演示
安装之前,先要保证系统环境是干净的,不能存在mysql,mariadb相关的东西,同样的软件在同一个操作系统里最好不要装两遍。不管是同样的方式还是不同的方式,看系统里面有没有叫mysql账户,得把它干掉,mysql的配置文件,日志文件都检查一遍。先把环境清理干净,紧接着就可以安装依赖包了。
[root@mysql ~]# rpm -qa | grep mariadb
mariadb-libs-5.5.60-1.el7_5.x86_64
[root@mysql ~]# rpm -qa | grep mysql
[root@mysql ~]# id mysql
id: mysql: no such user
[root@mysql ~]#
自从mysql被sun收购以后,rhel7已经不支持mysql(收费),内部集成了mariadb,安装mysql会与之冲突,因此需先卸载掉mariadb。
安装依赖包
[root@mysql ~]# yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make
[root@mysql ~]# yum -y install cmake
有些时候编译安装软件需要使用cmake命令,不过该命令并不是默认就会安装的程序,特别是选择最小化安装的时候。在安装系统的时候没有安装该软件就需要之后手动安装了。
3、创建账户
[root@mysql ~]# groupadd mysql
[root@mysql ~]# useradd -r -g mysql -s /bin/false mysql
编译安装时账户不会自己创建, -s不让登录,创建一个账户mysql
4、上传mysql安装包
使用工具上传安装包
[root@mysql ~]# tar -zxvf mysql-boost-5.7.34.tar.gz 解包
[root@mysql ~]# mv mysql-5.7.34/ /
[root@mysql ~]# cd /
[root@mysql /]# cd mysql-5.7.34/
5、编译安装
[root@mysql mysql-5.7.34]# cmake . -DWITH_BOOST=/mysql-5.7.34/boost/boost_1_59_0 -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DMYSQL_DATADIR=/usr/local/mysql/data -DINSTALL_MANDIR=/usr/share/man -DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DEXTRA_CHARSETS=all -DDEFAULT_COLLATION=utf8_general_ci -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1
[root@mysql mysql-5.7.34]# make && make install 时间稍微久一点
上面make不完的话,下面也不会执行,逻辑与的关系。很容易出错,出错之后直接删了重新解压。
解释:
cmake . \ \续行符
-DWITH_BOOST=boost_1_59_0/ \ #如果安装包带boost目录,这里写/var/ftp/pub/mysql-5.7.34/boost
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ 安装目录
-DSYSCONFDIR=/etc \ 指定配置文件所在的路径
-DMYSQL_DATADIR=/usr/local/mysql/data \ 存储数据的目录
-DINSTALL_MANDIR=/usr/share/man \ man手册
-DMYSQL_TCP_PORT=3306 \ 端口
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ sock文件位置,非常重要,客户端连接mysql全靠这个文件,服务起来了,端口有,也连不上,就因为文件不存在
-DDEFAULT_CHARSET=utf8 \ 字符集
-DEXTRA_CHARSETS=all \ 字符集
-DDEFAULT_COLLATION=utf8_general_ci \ 字符集
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 指定默认的存储引擎,因为在mysql里边,以前常用的存储引擎有一个叫myisam的,现在用innodb是最多的。myisam的速度比较快,但是innodb支持的功能比它多,支持的数据量也比它多。
[root@mysql ~]# cd /usr/local/mysql
[root@mysql mysql]# mkdir mysql-files
[root@mysql mysql]# chown -R mysql:mysql .
[root@mysql mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 密码会在这一步完成之后显示出来
WKm##f?n7!P#
注意:初始化完成之后,要记住最后提示的密码。
[root@mysql mysql]# bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
[root@mysql mysql]# vi /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
basedir 参数指定了安装 MySQL 的安装路径,填写全路径可以解决相对路径所造成的问题。datadir 参数指定了 MySQL 的数据库文件放在什么路径下。数据库文件即我们常说的 MySQL data 文件。
[root@mysql mysql]# bin/mysqld_safe --user=mysql &
[root@mysql mysql]# lsof -i:3306
[root@mysql mysql]# ps -ef | grep mysql
[root@mysql mysql]# bin/mysqladmin -u root -p'WKm##f?n7!P#' password 'Helloword123!'
这里的旧密码在上面初始化完成之后生成。
[root@mysql mysql]# bin/mysql -u root -p'Helloword123!'
MySQL登录成功。
【注意】你得努力学习不然你会被这个时代淘汰。
本文分步骤详细给大家介绍了MySQL5.7的安装与配置详细操作方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下。