MySQL5.7安装的几种方式

1、MySQL安装方式

二进制软件包安装

yum安装或rpm安装

glibc版本安装

命名:mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz

源码包编译安装

命名:mysql-5.7.31.tar.gz,通用的Linux下都可以编译安装。

2、三种安装方式的区别

安装方式优点缺点
rpm安装卸载简单可定制性差
glibc可定制性相比rpm包灵活些安装相比rpm包复杂些,需要手动初始化数据库
源码安装可定制性最强,根据需求和功能定制安装麻烦,需要手动初始化数据库

在企业中数据库的安装大部分都是基于源码安装以及glibc安装

MySQL的GLIBC版本安装

1、获取MySQL GLIBC版本

2、看官方文档

3、安装MySQL依赖库软件

第一步:克隆模板机,生成MySQL服务器

第二步:启动系统

第三步:更改主机名称为mysql,然后重启网络

hostnamectl set-hostname mysql

第四步:拍摄快照

第五步:安装依赖库libaio库

yum install libaio -y

4、上传软件包解压,了解目录结构

打开mobatermx,目录设为/root,将mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz拉进来

tar -xf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz
tar -xf mysql-8.4.1-linux-glibc2.28-x86_64.tar.xz
ls mysql-5.7.31-linux-glibc2.12-x86_64
ls mysql-8.4.1-linux-glibc2.28-x86_64

安装需求:

选项值(自定义也可以采用默认形式)
安装路径/mysql_3306
数据路径/mysql_3306/data
端口号3306

5、软件的安装(查看官方说明)

https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html

第一步:创建一个数据库专用账号mysql(其所属组也为mysql)

useradd -r -s /sbin/nologin mysql
id mysql

第二步:清空系统中的原有mariadb的配置文件(/etc/my.cnf)

rm -rf /etc/my.cnf

第三步:把mysql解压后的压缩包(GBLIC版本)移动到/根目录下,然后更名为mysql_3306

mv mysql-5.7.31-linux-glibc2.12-x86_64 /mysql_3306
#mv mysql-8.4.1-linux-glibc2.28-x86_64 /mysql_3308

第四步:切换到mysql工作目录/mysql_3306,创建一个mysql-files

cd /mysql_3306
mkdir mysql-files

第五步:更改mysql-files权限

chown mysql:mysql mysql-files
chmod 750 mysql-files

第六步:初始化数据库(可以实现数据库的初始化,而且会产生一个随机密码)

# bin/mysqld --initialize --user=mysql --basedir=/mysql_3306
选项说明:
--initialize 	 初始化(真正开始干活)
--user=mysql 	 以mysql用户的身份初始化数据库,产生文件都是mysql作为拥有者
--basedir=xxx    mysql其安装目录,非常重要

运行完毕后,观察最后一行,保存root账号的密码,以备后期使用。
2024-07-12T11:28:32.092001Z 1 [Note] A temporary password is generated for root@localhost: U/z9t+H6gfoV

想查看mysql软件有没有初始化成功,主要看mysql目录下有没有产生data文件夹且文件夹中至少要有一个mysql的文件夹。

第七步:设置安全加密连接(SSL),数据传输会采用加密形式,适合敏感数据

bin/mysql_ssl_rsa_setup --datadir=/mysql_3306/data

第八步:启动MySQL数据库

cp support-files/mysql.server /etc/init.d/mysql_3306

注:默认情况下,GBLIC版本的数据库要求安装到/usr/local/mysql目录,其mysql.server脚本中对应的目录也是/usr/local/mysql,这会导致mysql无法启动。所以可以更改其basedir以及datadir两个变量

# vim /etc/init.d/mysql_3306
46行 basedir=/mysql_3306
47行 datadir=/mysql_3306/data

第九步:启动MySQL数据库(不能使用systemctl,只能使用service)

[root@mysql mysql_3306]# service mysql_3306 start
Starting MySQL.Logging to '/mysql_3306/data/mysql.itcast.cn.err'.
 SUCCESS!

当MySQL启动成功后,其日志会自动写入到data数据目录中的主机名称.err文件中,这个文件一定要多看,涉及MySQL无法启动、启动报错,其详细的原因在.err文件中可以找到

如何让mysql自动启动?

chkconfig --list				查询系统中的所有开机启动项
chkconfig --add mysql_3306    必须与/etc/init.d目录下的脚本名称一致
chkconfig mysql_3306 on		把2345四种模式全部开启(3字符界面,5图形界面)

7、MySQL GLIBC版本后续配置

第一步:更改管理员root账号的密码

  • 方法1:
[root@node1 mysql_3306]# bin/mysqladmin -uroot password 'U/z9t+H6gfoV' -p
Enter password:输入刚刚初始化产生的临时密码
  • 方法2
bin/mysql -uroot -p

mysql> set password='123';

重置完成后,建议刷新权限,让其立即生效
mysql> flush privielges;

第二步:把mysql客户端命令添加到环境变量,以后随时可以访问

echo 'export PATH=$PATH:/mysql_3306/bin' >> /etc/profile
source /etc/profile

设置完成后,我们可以在任意位置调用mysql客户端命令
mysql -uroot -p
Enter password:

第三步:手工定义MySQL的配置文件

# vim /mysql_3306/my.cnf
[mysqld]
basedir=/mysql_3306
datadir=/mysql_3306/data
socket=/tmp/mysql.sock
选项说明:
[mysqld]	代表针对服务器端进行配置
basedir		代表数据库的安装目录
datadir		代表数据目录,以后专门用于存放数据文件的(核心目录)
socket		代表套接字文件,专门为客户端与服务器端连接提供一个桥梁

service mysql_3306 restart

第四步:安全配置(对于生产环境比较重要)

mysql_secure_installation

两下enter然后yes到底

其主要就是是否启动密码脚尖器、是否设置root密码、是否允许root远程连接、是否移除测试数据库等等一系列功能。

常见问题:如何关闭MySQL密码强度检测?

# vim /mysql_3306/my.cnf
[mysqld]
...
validate_password=OFF

# service mysql_3306 restart

pw = yangyang

五、MySQL的源码编译安装

1、参考MySQL源码安装官方文档

官方文档:https://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html

源码安装三步曲:配置——>编译——>安装

2、MySQL的源码编译安装

建议大家在源码编译安装之前,先拍摄一个快照

第一步:安装MySQL编译需要用到的依赖库

yum -y install ncurses-devel cmake libaio-devel openssl-devel

第二步:上传软件到服务器端并解压

tar -xf mysql-boost-5.7.31.tar.gz
cd mysql-5.7.31

第三步:配置(基于cmake进行配置)

vim myconfig.sh
cmake . \
-DCMAKE_INSTALL_PREFIX=/mysql_3307 \
-DMYSQL_DATADIR=/mysql_3307/data \
-DMYSQL_TCP_PORT=3307 \
-DMYSQL_UNIX_ADDR=/mysql_3307/mysql.sock \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_SSL=system \
-DWITH_BOOST=boost

选项说明:
-DCMAKE_INSTALL_PREFIX :安装路径
-DMYSQL_DATADIR :数据目录
-DMYSQL_TCP_PORT :端口号
-DMYSQL_UNIX_ADDR :套接字文件位置

chmod +x myconfig.sh
./myconfig.sh

第四步:编译安装

make -j2 && make install
选项说明:
-j2 :代表同时开启多个线程共同实现编译操作

3、编译报错常见问题解析

编译安装中途报错,重新编译一下

# rm -f CMakeCache.txt
# make -j2 && make install

4、MySQL数据库的初始化

**注意:**进入到安装目录里/mysql_3307

# cd /mysql_3307

第一步:创建mysql-files目录

创建系统变量`secure_file_priv`限制导入导出目录并修改权限
# mkdir mysql-files
# chown -R mysql:mysql /mysql_3307
# chmod 750 mysql-files

第二步:数据库初始化操作

# bin/mysqld --initialize --user=mysql --basedir=/mysql_3307 --datadir=/mysql_3307/data
...
2024-07-12T14:10:03.381141Z 1 [Note] A temporary password is generated for root@localhost: ubuZmEEAB5,q

第三步:拷贝mysql.server脚本到/etc/init.d目录,然后启动数据库

# cp support-files/mysql.server /etc/init.d/mysql_3307
# service mysql_3307 start

5、MySQL源码编译安装后的后续配置

第一步:编写MySQL配置文件,my.cnf

# vim /mysql_3307/my.cnf
[mysqld]
basedir=/mysql_3307
datadir=/mysql_3307/data
socket=/mysql_3307/mysql.sock

# service mysql_3307 restart

第二步:设置管理员的密码

# bin/mysqladmin -uroot password 'yangyang' -p
Enter password:ubuZmEEAB5,q

第三步:安全设置

# bin/mysql_secure_installation

第四步:添加mysql_3307到开机启动项

# chkconfig --add mysql_3307
# chkconfig mysql_3307 on
  • 11
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在Ubuntu上安装MySQL 5.7有几个步骤。首先,你可以通过命令"dpkg -l | grep mysql"来查看已安装MySQL版本。根据引用\[1\]中的输出,你的系统上已经安装MySQL 5.7.40版本。接下来,你可以使用命令行来下载和安装MySQL 5.7。根据引用\[2\]中的命令,你可以使用wget命令下载MySQL 5.7.40的deb包,并使用tar命令解压文件。然后,你可以进入解压后的目录,并使用dpkg命令安装MySQL。如果安装过程中出现依赖问题,你可以使用apt命令来安装缺失的依赖项。最后,你可以使用systemctl命令来验证MySQL安装状态,并设置MySQL开机自启动。根据引用\[2\]中的命令,你可以使用systemctl status mysql命令来验证MySQL的状态,并使用systemctl enable mysql --now命令来设置MySQL开机自启动。如果你想提前下载MySQL 5.7安装包并解压,你可以参考引用\[3\]中的命令。请注意,你可能需要根据你的系统和需求进行适当的调整。 #### 引用[.reference_title] - *1* *3* [Ubuntu20.04安装MySQL5.7-实测3种方法(保姆级教程)](https://blog.csdn.net/liuhuango123/article/details/128264867)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [MySQL(31)-ubuntu20.04-下安装mysql5.7](https://blog.csdn.net/aggie4628/article/details/130129081)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值