赞
踩
【二进制软件包安装】
【源码包编译安装】
命名:mysql-5.7.27.tar.gz,通用的Linux下都可以编译安装
注:在企业中,数据库的安装很少使用rpm方式,大部分都是基于源码安装以及glibc安装!
官方给我们建议了命令的执行及顺序,下面我将会整理出完整步骤
【1. 获取MySQL的GLIBC版本】
在MySQL官方页面进行下载:MySQL :: Download MySQL Community Server
【2. 安装MySQL依赖libaio库】
为什么安装依赖?我也不知道......官方建议我们装就装
- [root@HspEdu01 ~]# yum search libaio # 查询是否已有
- [root@HspEdu01 ~]# yum install libaio # 没有就install
【3. 上传软件包并解压】
上传方式有多种,可以先下载到本地再通过Xftp等上传至Linux服务器,也可以使用 "wget 下载链接" 线上获取,这里我选择后者:
- [root@HspEdu01 ~]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz
- [root@HspEdu01 ~]# ll
会处于一段时间的下载状态,达到100%即下载成功 ,ll 查看发现已存在mysql-.......tar,gz
解压:
- [root@HspEdu01 ~]# tar -zxf mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz
- [root@HspEdu01 ~]# ll
解压完成后,cd mysql-5.7.37-linux-glibc2.12-x86_64,目录结构应如下:
【4. 将解压过包移动至指定目录】
官方建议我们将mysql解压后的包mysql-5.7.37-linux-glibc2.12-x86_64放在 /usr/local/ 文件夹下,然后更名为mysql
- # 移动至 /usr/local/ 目录下,同时更名为mysql
- [root@HspEdu01 ~]# mv mysql-5.7.37-linux-glibc2.12-x86_64 /usr/local/mysql
- [root@HspEdu01 ~]# ll /usr/local/mysql
【5. 创建一个数据库专用账号mysql(其所属组也为mysql)】
- [root@HspEdu01 ~]# useradd -r -s /sbin/nologin mysql
- [root@HspEdu01 ~]# id mysql
【6. 清除系统中的原有mariadb配置文件(/etc/my.cnf)】
[root@HspEdu01 ~]# rm -rf /etc/my.cnf
【7. 切换到mysql工作目录(/usr/local/mysql),创建一个mysql-files,并修改其权限】
- [root@HspEdu01 ~]# cd /usr/local/mysql
- [root@HspEdu01 mysql]# mkdir mysql-files
- [root@HspEdu01 mysql]# chown mysql:mysql mysql-files
- [root@HspEdu01 mysql]# chmod 750 mysql-files
说明:mysql-files 目录为secure_file_priv系统变量提供一个位置,该位置将导入和导出操作限制到特定目录,即数据导入导出的路径
【8. 初始化数据库】
[root@HspEdu01 mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql
--initialize 初始化(真正地开始干活)
--user=mysql 以mysql用户的身份初始化数据库,产生的文件都是mysql用户作为拥有者
--basedir=xxx mysql其安装目录(非常重要)
可以实现数据库的初始化,而且会产生一个随机密码,将其密码保存下来,以备后期使用
经验之谈:想查看mysql软件有没有初始化成功,主要看mysql目录下有没有产生data文件夹,且data文件夹中至少要有一个mysql的文件夹
【9. 设置安全加密连接(SSL)】
[root@HspEdu01 mysql]# bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
数据传输会采用加密形式,适合敏感数据。--datadir:8步骤初始化mysql后生成的data的路径
【10. 配置/etc/init.d/】
启动前,要把 support-files/mysql.server 复制到 /etc/init.d/ 下,并命名为mysql,启动时便可使用名mysql直接启动
[root@HspEdu01 mysql]# cp support-files/mysql.server /etc/init.d/mysql
注:默认情况下,GLIBC版本的数据库要求安装到 /usr/local/mysql 目录下, 其 mysql.server 脚本中对应的目录也是 /usr/local/mysql ,如果数据库安装的目录不是 /usr/local/mysql ,则会导致mysql无法启动。我们可以更改其mysql.server中basedir(值改为mysql程序的安装路径)和datadir(值改为mysql程序中data文件夹的路径)两个变量来解决此问题
【11. 启动MySQL数据库】
不能使用systemctl(没有产生mysql.service包),只能使用service(service管理的服务都在/etc/init.d/目录下)
[root@HspEdu01 mysql]# service mysql start
特别说明:当MySQL启动成功后,其日志会自动写入到data数据目录中的主机名称.err文件中,这个文件一定要多看,涉及MySQL无法启动、启动报错,其详细的原因99%在.err文件中可以找到问题所在。
【12. 更改数据库管理员密码】
将密码改为'123',在Enter password:后输入之前保存的临时代码
- 方法一:
- [root@HspEdu01 mysql]# bin/mysqladmin -uroot password '123' -p
- Enter password:
-
- 方法二:
- mysql> set password='123'
- mysql> flush privileges
【13. 配置环境变量(mysql的bin目录)】
- [root@HspEdu01 ~]# echo 'export PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile
- [root@HspEdu01 ~]# source /etc/profile
配置完之后,在任意位置都可以调用mysql客户端命令,而不用到mysql的bin目录下
【14. 手工定义MySQL的配置文件(重要)】
- [root@HspEdu01 ~]# vim /usr/local/mysql/my.cnf
-
- [mysqld]
- basedir=/usr/local/mysql
- datadir=/usr/local/mysql/data
- socket=/tmp/mysql.sock
-
- [root@HspEdu01 ~]# service mysql restart
[mysqld] 代表针对服务器端进行配置
basedir 代表数据库的安装目录
datadir 代表数据目录,以后专门用于存放数据文件的(核心目录)
socket 代表套接字文件,专门为客户端与服务器端连接提供一个桥梁
重新启动后,/tmp/mysql.sock 目录下会有这样套接字文件:
【15. 安全配置(对于生产环境比较重要)】
[root@HspEdu01 ~]# mysql_secure_installation
一路Y,搞定!
其主要就是是否密码校检器(测试环境最好别装,简单密码不让用)、是否设置root密码、是否允许root远程连接、是否移除测试数据库等等一系列功能。
如果装了密码校检器,想要关闭:
- [root@HspEdu01 ~]# vim /usr/local/mysql/my.cnf
-
- [mysqld]
- ........
- validate_password=OFF
-
- [root@HspEdu01 ~]# service mysql restart
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。