在centos上安装mysql5.7的三种方法

时间:2023-03-08 22:01:04
在centos上安装mysql5.7的三种方法
带OS信息的是已编译的二进制文件,不带OS信息的是源码包

mysql-5.7.14-linux-glibc2.5-x86_64.tar.gz  二进制包
mysql-5.5.51.tar.gz  源码包

以在centos7上安装mysql5.7.14为例

方法一:使用已编译的二进制文件安装

官网下载二进制文件包:http://dev.mysql.com/downloads/mysql/  选Linux-Generic

官网安装说明:http://dev.mysql.com/doc/refman/5.7/en/binary-installation.html

1. 下载已编译的二进制文件包

wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.14-linux-glibc2.5-x86_64.tar.gz

2. 下面直接贴出来官网给的整体步骤

#To install and use a MySQL binary distribution, the command sequence looks like this:

groupadd mysql
useradd -r -g mysql -s /bin/false mysql
cd /usr/local
tar zxvf /path/to/mysql-VERSION-OS.tar.gz
ln -s full-path-to-mysql-VERSION-OS mysql
cd mysql
mkdir mysql-files
chmod mysql-files
chown -R mysql .
chgrp -R mysql .
bin/mysql_install_db --user=mysql # Before MySQL 5.7.
bin/mysqld --initialize --user=mysql # MySQL 5.7. and up
bin/mysql_ssl_rsa_setup # MySQL 5.7. and up
chown -R root .
chown -R mysql data mysql-files
bin/mysqld_safe --user=mysql &
# Next command is optional
cp support-files/mysql.server /etc/init.d/mysql.server

 方法二:使用源码安装

官网下载地址:http://dev.mysql.com/downloads/mysql/  选Source Code

官网安装说明:http://dev.mysql.com/doc/refman/5.7/en/installing-source-distribution.html

1. 根据系统版本和mysql版本,有不同的tar包。这里我下载的是 Generic Linux (Architecture Independent), Compressed TAR Archive,版本5.7.14

wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.51.tar.gz

2. 官网给出了详细步骤。在做下面操作之前,最好先做一些准备工作,准备工作请参考http://dev.mysql.com/doc/refman/5.7/en/source-installation.html

# Preconfiguration setup
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
# Beginning of source-build specific instructions
tar zxvf mysql-VERSION.tar.gz
cd mysql-VERSION
cmake .
make
make install
# End of source-build specific instructions
# Postinstallation setup
cd /usr/local/mysql
chown -R mysql .
chgrp -R mysql .
bin/mysql_install_db --user=mysql # Before MySQL 5.7.
bin/mysqld --initialize --user=mysql # MySQL 5.7. and up
bin/mysql_ssl_rsa_setup # MySQL 5.7. and up
chown -R root .
chown -R mysql data
bin/mysqld_safe --user=mysql &
# Next command is optional
cp support-files/mysql.server /etc/init.d/mysql.server# Preconfiguration setup
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
# Beginning of source-build specific instructions
tar zxvf mysql-VERSION.tar.gz
cd mysql-VERSION
cmake .
make
make install
# End of source-build specific instructions
# Postinstallation setup
cd /usr/local/mysql
chown -R mysql .
chgrp -R mysql .
bin/mysql_install_db --user=mysql # Before MySQL 5.7.
bin/mysqld --initialize --user=mysql # MySQL 5.7. and up
bin/mysql_ssl_rsa_setup # MySQL 5.7. and up
chown -R root .
chown -R mysql data
bin/mysqld_safe --user=mysql &
# Next command is optional
cp support-files/mysql.server /etc/init.d/mysql.server

方法三:使用官网提供的yum资源库

官网yum资源库下载地址:http://dev.mysql.com/downloads/repo/yum/

官网安装说明:http://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en

个别地方需要注意。下面用中文总结下大致步骤。

1. 下载适合你系统版本的yum资源库,例如我下载的是mysql57-community-release-el7-8.noarch.rpm

2. 现在这一步是官网没写的。我的练习机上只有root账号,在做下面几步之前,我先创建了一个mysql账号,并授权。为此,我执行了以下命令。

#完全使用默认参数创建新用户mysql,这一步同时会自动创建名为mysql的用户组
useradd mysql #设置mysql账号密码
passwd mysql #这个命令是利用vi把/etc/sudoers文件调出来修改,如果没有这个命令,请安装
visudo #在文件中相应位置加入下面这一行,这样可以让mysql用户组执行只有root才能执行的命令。这种方法下,在运行sudo时,会提示你输入mysql账号密码
##Allow people in group wheel to run all commands
%mysql ALL=(ALL) ALL #如果想不输密码就能用sudo,就在相应位置加入下面这行
##Same thing without a password
%mysql ALL=(ALL) NOPASSWD:ALL

3. 切换到mysql账号之后,安装步骤1中下载好的rpm包,这个完成之后会自动给生成第4步中的yum repo文件

su mysql
sudo rpm -Uvh mysql57-community-release-el7-.noarch.rpm

4. 如要需要,请修改yum repo文件。我的文件里面显示所有组件都默认装5.7版本的。如果你要装别的版本,把该版本组件的enabled值改为1,把不需要装的组件的enabled值改为0。注意所有组件都得是同一个版本的。

#这两个文件都检查看看
vim /etc/yum.repos.d/mysql-community.repo
vim /etc/yum.repos.d/mysql-community-source.repo #文件里面看起来都是下面这样的代码段,注意默认情况下,版本5.7的组件都是enabled的,其他版本enabled=。如果需求不同,请手动改enabled值

[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

5. 检查一下哪些组件是enabled的,也就是待会儿可以装上的

yum repolist enabled | grep mysql

6. 启动mysql服务

#启动mysql
sudo service mysqld start #检查mysql运行状态
sudo service mysqld status

7. 经过上面几步, 已经自动创建了一个超级账号'root'@'localhost’。它的初始密码存在下面这个文件里面。查看密码后登录mysql,要做的第一件事是改密码。这个是强制要改的,不然一堆报错。

sudo grep 'temporary password' /var/log/mysqld.log

8. 改初始密码

#登入mysql,提示你输入密码,要用上一步里找到的初始密码哦
mysql -uroot -p #改密码,对密码复杂度有要求,我原本想改成一个单词组成的密码,结果报错了
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

补充:针对只用安装个别mysql组件的情况

官网下载地址:http://dev.mysql.com/downloads/

根据系统版本和mysql版本的不同,各个组件有不同的rpm包。根据自己的需求选择下载并用rpm命令安装。具体的就不说了。

举例,下面这个是下载mysql community server 5.7的一揽子rpm包

wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.14-1.el7.x86_64.rpm-bundle.tar

解压得到的rpm包是下面这些

[root@cloudnode1 src]# ll mysql-c*
-rw-r--r-- Jul : mysql-community-client-5.7.-.el7.x86_64.rpm
-rw-r--r-- Jul : mysql-community-common-5.7.-.el7.x86_64.rpm
-rw-r--r-- Jul : mysql-community-devel-5.7.-.el7.x86_64.rpm
-rw-r--r-- Jul : mysql-community-embedded-5.7.-.el7.x86_64.rpm
-rw-r--r-- Jul : mysql-community-embedded-compat-5.7.-.el7.x86_64.rpm
-rw-r--r-- Jul : mysql-community-embedded-devel-5.7.-.el7.x86_64.rpm
-rw-r--r-- Jul : mysql-community-libs-5.7.-.el7.x86_64.rpm
-rw-r--r-- Jul : mysql-community-libs-compat-5.7.-.el7.x86_64.rpm
-rw-r--r-- Jul : mysql-community-minimal-debuginfo-5.7.-.el7.x86_64.rpm
-rw-r--r-- Jul : mysql-community-server-5.7.-.el7.x86_64.rpm
-rw-r--r-- Jul : mysql-community-server-minimal-5.7.-.el7.x86_64.rpm
-rw-r--r-- Jul : mysql-community-test-5.7.-.el7.x86_64.rpm