前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在RedHat Linux平台上安装MySQL 8

在RedHat Linux平台上安装MySQL 8

原创
作者头像
用户4988085
修改2021-09-18 17:42:47
3.8K0
修改2021-09-18 17:42:47
举报
文章被收录于专栏:建站知识建站知识

下载安装包

到MySQL的官方网站https://www.mysql.com/downloads/上下载完整的MySQL 8社区版RPM安装包,注意选择对应的平台和操作系统版本,这里选择的是红帽Linux,CPU架构是64位的x86。这个安装包里包括的RPM包如下:

代码语言:javascript
复制
$ tar tvf mysql-8.0.25-1.el7.x86_64.rpm-bundle.tar|awk '{print $6}'mysql-community-client-8.0.25-1.el7.x86_64.rpmmysql-community-client-plugins-8.0.25-1.el7.x86_64.rpmmysql-community-common-8.0.25-1.el7.x86_64.rpmmysql-community-devel-8.0.25-1.el7.x86_64.rpmmysql-community-embedded-compat-8.0.25-1.el7.x86_64.rpmmysql-community-libs-8.0.25-1.el7.x86_64.rpmmysql-community-libs-compat-8.0.25-1.el7.x86_64.rpmmysql-community-server-8.0.25-1.el7.x86_64.rpmmysql-community-test-8.0.25-1.el7.x86_64.rpm

这些包的命名规则是packagename-version-distribution-arch.rpm,其中:

(1)packagename代表包名。

(2)version代表版本号。

(3)distribution代表linux平台。

(4)arch代表CPU类型。

例如mysql-community-server-8.0.25-1.el7.x86_64.rpm这个RPM包,mysql-community-server是包名,8.0.25-1是版本号,el7中的el代表Enterprise Linux,包括Oracle Linux、Red Hat Enterprise Linux和CentOS,7是Linux的大版本号,x86_64是CPU的类型。

         安装前先检查是否已经安装了MySQL或MariaDB

首先,检查默认的配置文件是否已经存在,命令如下:

代码语言:javascript
复制
$ ll /etc/my.cnf-rw-r--r--. 1 root root 570 Mar  6  2014 /etc/my.cnf

然后,检查是否有MySQL或MariaDB的安装包,命令如下:

代码语言:javascript
复制
$ rpm -qa|grep -i mysql$ rpm -qa|grep -i mariadbmariadb-libs-5.5.35-3.el7.x86_64

Red Hat和CentOS上通常已经安装了mariadb -libs的包,这个包需要卸载,特别是/etc/my.cnf文件,一定要先删除,如果不删除这个网站,新安装的MySQL会使用这个配置文件,届时会出现莫名其妙的错误。使用下面的命令卸载mariadb -libs包:

代码语言:javascript
复制
$ rpm -e mariadb-libs$ ll /etc/my.cnfls: cannot access /etc/my.cnf: No such file or directory

卸载了mariadb -libs的包后,/etc/my.cnf文件就一并被删除了。

                        安装RPM包

服务端大部分时候只需要安装下面5个包:

(1)mysql-community-server

(2)mysql-community-client

(3)mysql-community-libs

(4)mysql-community-common

(5)mysql-community-libs-compat

安装命令如下:

代码语言:javascript
复制
$ sudo yum install mysql-community-{server,client,common,libs}-*

客户端的安装命令如下:

代码语言:javascript
复制
$ sudo yum install mysql-community-{client,common,libs}-*

也可以把yum install替换成rpm -Uvh,但rpm -Uvh因为不能自动解决包的依赖关系的问题而更容易出错。

初始化数据库

安装完成后,先不要启动MySQL数据库,因为MySQL数据库在第一次启动时会自动进行初始化,在初始化之前要根据自己的需求对相关系统参数进行修改(默认的参数文件是/etc/my.cnf):

(1)最有可能修改的系统参数是数据文件目录datadir,这个系统参数的默认值是“/var/lib/mysql”,它通常在本地硬盘,在生产环境中通常是不合适的,可以把它改成其他实际生产中用到的目录,例如“/disk1/data”。

(2)系统参数innodb_log_file_size指定InnoDB的重做日志文件的大小,默认值是50M,对于生产环境通常也小了,第16章会说明如何计算这个系统参数的大小,这里可以把它设置成100M。

(3)系统参数innodb_data_home_dir指定InnoDB系统表空间的目录,默认值是datadir,如果有必要,也可以调整这个系统参数。

(4)系统参数innodb_log_group_home_dir指定InnoDB的重做日志文件的目录,默认值也是datadir,如果有必要,也可以调整这个系统参数。

参数文件准备好后,启动mysqld服务,命令如下:

代码语言:javascript
复制
$ sudo systemctl start mysqld

启动过程中会自动进行数据库的初始化工作,在初始化过程中会自动为超级用户root@localhost生成一个密码,可以在MySQL的错误日志里查询自动生成的密码,命令如下:

代码语言:javascript
复制
$ sudo grep 'temporary password' /var/log/mysqld.log2020-12-22T08:08:27.273629Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: otvx.-q92,/N[

使用初始密码登录MySQL数据库并修改密码,这里需要注意,如果密码里面有特殊字符,密码应用单引号或双引号括起来,命令如下:

代码语言:javascript
复制
$ sudo mysql -uroot -p’otvx.-q92,/N’mysql: [Warning] Using a password on the command line interface can be insecure.Welcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 8Server version: 8.0.25......

登录后,可以使用set password的命令修改密码:

代码语言:javascript
复制
mysql> set password='Dnihaha123!';

修改完成后使用新的密码重新登录,命令如下:

代码语言:javascript
复制
$ sudo mysql -uroot -pDnihaha123!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档