Linux下通过RPM包方式安装mysql5.7版本

现在mysql版本已经到MySQL 8.0(GA)稳定版本了,所以需求是想简单又快速在centos7下安装指定版本例如MySQL 5.7(GA)版本有下面这种方法

首先需要到mysql官网这里下载对应RPM包来update一下

 

 

1.全新安装MySQL的步骤

我这边是想安装5.7.23版本,然后这个rpm包是最新8.0版本的,这边我就需要做点操作了:

首先,将MySQL Yum存储库添加到系统的存储库列表中。按着这些次序:

http://dev.mysql.com/downloads/repo/yum/转到MySQL Yum存储库的下载页面 

 

 

选择并下载适用于您的平台的发行包。

把RPM包下载了然后放到centos7下,如下图所示:

 

使用以下命令安装下载的发行包,替换 platform-and-version-specific-package-name 为下载的包的名称:

[root@jumpserver ~]# rpm -Uvh mysql80-community-release-el7-n.noarch.rpm

使用MySQL Yum存储库时,默认选择安装MySQL的最新GA版本。

在MySQL Yum存储库(http://repo.mysql.com/yum/)中,MySQL社区服务器的不同发行版系列托管在不同的子存储库中。

默认情况下启用最新GA系列(当前为MySQL 8.0)的子存储库,默认情况下禁用所有其他系列(例如,MySQL 5.7系列)的子存储库。

使用此命令查看MySQL Yum存储库中的所有子存储库,并查看哪些子存储库已启用或禁用(对于支持dnf的系统,请使用dnf替换 命令中的 yum):

[root@jumpserver ~]# yum repolist all | grep mysql

要从最新的GA系列安装最新版本,无需进行任何配置。要从最新GA系列以外的特定系列安装最新版本,请在运行安装命令之前禁用最新GA系列的子存储库并启用特定系列的子存储库。

如果您的平台支持 yum-config-managerdnf config-manager命令,则可以通过发出以下命令来执行此操作,这些命令禁用8.0系列的子存储库并启用5.7系列的子存储库; 对于未启用dnf的平台:

[root@jumpserver ~]# yum-config-manager --disable mysql80-community 
[root@jumpserver ~]# yum-config-manager --enable mysql57-community

 除了使用yum-config-manager或 dnf config-manager命令外,您还可以通过手动编辑/etc/yum.repos.d/mysql-community.repo 文件来选择系列 这是文件中发布系列的子存储库的典型条目:

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

找到要配置的子存储库的条目,然后编辑该enabled选项。

指定 enabled=0禁用子存储库,enabled=1启用子存储库。

例如,要安装MySQL 5.7,就把mysql8.0的enabled=1改为0,把mysql5.7的enabled改为=1。

# Enable to use MySQL 5.7
[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

通过运行以下命令并检查其输出来验证是否已启用和禁用了正确的子存储库(对于启用dnf的系统,请使用dnf替换 命令中的 yum):

[root@jumpserver ~]# yum repolist enabled | grep mysql

2.安装MySQL5.7

通过以下命令安装MySQL(对于支持dnf的系统,使用dnf替换命令中的 yum):

[root@jumpserver ~]# yum install mysql-community-server

3.启动MySQL服务器

使用以下命令启动MySQL服务:

systemctl start mysqld.service

您可以使用以下命令检查MySQL服务的状态:

systemctl status mysqld.service

开机自启动mysql服务:

systemctl enabled mysqld.service

MySQL服务器初始化(从MySQL 5.7开始):在服务器初始启动时,如果服务器的数据目录为空,则会发生以下情况:

  • 服务器已初始化。

  • 在数据目录中生成SSL证书和密钥文件。

  • validate_password插件安装并启用。

  • 'root'@'localhost' 创建一个超级用户帐户设置超级用户的密码并将其存储在错误日志文件中。要显示它,请使用以下命令:

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

    通过使用生成的临时密码登录并为超级用户帐户设置自定义密码,尽快更改root密码:

  • mysql -uroot -p
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

    注意:

MySQL的 validate_password 插件默认安装。这将要求密码包含至少一个大写字母,一个小写字母,一个数字和一个特殊字符,并且密码总长度至少为8个字符。

 

4.MySQL数据库远程访问权限如何打开(两种方法)

在我们使用mysql数据库时,有时我们的程序与数据库不在同一机器上或者有时候我们需要通过自己电脑用可视化sqlyog,或者navicat图形化来操作一下数据库,这时我们需要远程访问数据库。缺省状态下,mysql的用户没有远程访问的权限。

下面介绍两种方法,解决这一问题。

1、改表法

 可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台服务器,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"就能远程访问了!

[root@localhost ~]# mysql -u root -p 
mysql>use mysql; 
mysql>update user set host = '%' where user = 'root'; 
mysql>select host, user from user;
mysql>flush privileges;

2、授权法 

在安装mysql的服务器上面执行:

[root@localhost ~]# mysql -h localhost -u root

#进入mysql服务以后输入下面命令对root用户远程授权

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION

#赋予任何主机访问数据的权限

##如果你想Juser用户使用Jpassword密码从任何主机连接到mysql服务器的话。

mysql>GRANT ALL PRIVILEGES ON *.* TO 'Juser'@'%'IDENTIFIED BY 'Jpassword' WITH GRANT OPTION;

如果你想允许用户Juser从ip为192.168.0.100的主机连接到mysql服务器,并使用Jpassword作为密码

mysql>GRANT ALL PRIVILEGES ON *.* TO 'Juser'@'192.168.0.100'IDENTIFIED BY 'Jpassword' WITH GRANT OPTION;

#重新加载权限语句让权限生效

mysql>FLUSH PRIVILEGES;

#退出MySQL服务器,这样就可以在其它任何的主机上以root身份登录

mysql>exit

 

posted @ 2018-09-18 16:17  Tse先生  阅读(5261)  评论(0编辑  收藏