Centos7.9安装MySQL(二进制)

news/2024/10/31 23:31:22/

安装包

https://downloads.mysql.com/archives/community/

在这里插入图片描述
mysql-8.0.39-linux-glibc2.17-x86_64.tar.xz

1.卸载MariaDB

查看

rpm -qa|grep mariadb

在这里插入图片描述

卸载

可能名称不一样,记得替换

rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64

在这里插入图片描述

rpm -qa|grep mariadb 执行验证有没有卸载成功

查看libaio 和 numactl

[root@ncayu8847 ~]# rpm -qa|grep libaio
libaio-0.3.109-13.el7.x86_64
[root@ncayu8847 ~]# 
[root@ncayu8847 ~]# 
[root@ncayu8847 ~]# rpm -qa|grep numactl
numactl-libs-2.0.12-5.el7.x86_64
[root@ncayu8847 ~]#

在这里插入图片描述

如果没有则需要安装

yum -y install libaio //安装libaio yum -y install numactl //安装numactl 

安装 MySQL

1.上传MySQL 安装包

mysql-8.0.39-linux-glibc2.17-x86_64.tar.xz

2.解压

注:本文安装包上传到了 /usr/local/ 目录下
进入安装包目录

cd /usr/local/

解压文件到指定目录

tar -pvxf mysql-8.0.39-linux-glibc2.17-x86_64.tar.xz -C /usr/local/

在这里插入图片描述

3.重命名文件夹

将解压后的文件夹重命名为mysql-8.0.39

mv mysql-8.0.39-linux-glibc2.17-x86_64 mysql-8.0.39

创建软连接

ln -s mysql-8.0.39 mysql

在这里插入图片描述

4.创建存储数据文件

创建 /usr/localysql/data文件夹

mkdir mysql/data

5.设置用户组并赋权

创建用户组

groupadd mysql

创建用户
-r:创建系统用户
-g:指定用户组

useradd -r -g mysql mysql

更改文件属主 和权限

chown -R mysql:mysql /usr/local/mysql/
chmod -R 755 /usr/local/mysql/

在这里插入图片描述

6.初始化MySQL

进入MySQL的bin目录

cd /usr/local/mysql/bin/

初始化数据库

./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql

设置是否对sql语句大小写敏感,1表示不敏感
lower_case_table_names = 1

注意:#如果要设置lower_case_table_names可以在初始化里面设置 ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql --lower_case_table_names=1

设置是否对sql语句大小写敏感执行这个:

./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql --lower_case_table_names=1

初始化完成后会打印一个随机密码,登录的时候会用到

在这里插入图片描述

[root@ncayu8847 bin]# ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql --lower_case_table_names=1
2024-10-24T13:39:07.148956Z 0 [System] [MY-013169] [Server] /usr/local/mysql-8.0.39/bin/mysqld (mysqld 8.0.39) initializing of server in progress as process 13554
2024-10-24T13:39:07.160773Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2024-10-24T13:39:08.410704Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2024-10-24T13:39:10.989324Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: !fn?Puqa7-i+

随机密码:!fn?Puqa7-i+

7.配置参数文件 my.cnf

vi /etc/my.cnf

配置文件修改为以下内容,也可以根据自己需要设置参数。

[client]
port = 3306
socket = /usr/local/mysql/data/mysql.sock
default-character-set = utf8mb4[mysql]  
default-character-set = utf8mb4[mysqld]  
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
init_connect = 'SET NAMES utf8mb4'port = 3306
socket = /usr/local/mysql/data/mysql.sock
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
datadir = /usr/local/mysql/data
lower_case_table_names=1[mysqldump]
quick
max_allowed_packet = 16M[mysql]
no-auto-rehash[myisamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M[mysqlhotcopy]
interactive-timeout

配置后修改 /etc/my.cnf 的权限为644

chmod 644 /etc/my.cnf

启动 mysql 报错提示: my_print_defaults: [Warning] World-writable config file '/etc/my.cnf' is ignored.

操作数据库提示警告World-writable config file ‘/usr/local/mysql/my.cnf’ is ignored
检查发现my.cnf权限过高【777】,将权限更改为644即可。

8.启动MySQL

/usr/local/mysql/support-files/mysql.server start

在这里插入图片描述
[root@ncayu8847 mysql]# /usr/local/mysql/support-files/mysql.server start
Starting MySQL… SUCCESS!
[root@ncayu8847 mysql]#

9.设置软连接,并重启MySQL

ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
ln -s /usr/local/mysql/mysql.sock /var/mysql.sock
service mysql restart

在这里插入图片描述

10.登录并更改密码

[root@ncayu8847 mysql]# mysql -uroot -p
Enter password: 输入初始化随机密码

我的mysql 随机密码: !fn?Puqa7-i+

在这里插入图片描述

第一次登录需要修改账号的密码

alter user 'root'@'localhost' identified by 'admin@123';

11.开放远程连接

如果不开放远程连接,root 用户只能在本地连接,当然,你也可以创建新的数据库账号。

use mysql;update user set user.Host='%' where user.User='root';flush privileges;    

flush privileges; 表示刷新权限

在这里插入图片描述

MySQL 进程

在这里插入图片描述

12.连接工具测试连接MySQL

防火墙开放 3306 端口

firewall-cmd --add-port=3306/tcpfirewall-cmd --add-port=3306/tcp --permanentfirewall-cmd --list-all

在这里插入图片描述

在这里插入图片描述

使用 DBeaver 工具连接数据库

在这里插入图片描述

在这里插入图片描述

连接成功

13.MySQL启动和停止

# 启动
service mysql start
systemctl start mysql#停止
service mysql stop
systemctl stop mysql# 重启
service mysql restart
systemctl restart mysql# 查看状态
service mysql status
systemctl status mysql

设置开机自启动

将服务文件拷贝到 /etc/init.d下,并重命名为mysqld

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

赋予可执行权限

# 赋予可执行权限
chmod +x /etc/init.d/mysqld# 添加服务
chkconfig --add mysqld# 显示服务列表
chkconfig --list

在这里插入图片描述

注:如果看到mysqld的服务,并且3,4,5都是on的话则成功,如果是off,则执行以下命令

chkconfig --level 345 mysqld on

重启系统

reboot

重启后查看mysql是否开机自启动

ps -ef|grep mysql

在这里插入图片描述
可以开机自启动,验证通过。

报错处理:Public Key Retrieval is not allowed

在这里插入图片描述

连接mysql时报错:Public Key Retrieval is not allowed(不允许公钥检索)

解决方法:连接设置——驱动属性——allowPublicKeyRetrieval=false(这里的运输公钥检索是默认关闭的,需要把它开启),改为allowPublicKeyRetrieval=true即可。

在这里插入图片描述


http://www.ppmy.cn/news/1543431.html

相关文章

MySQL MHA 的部署

MySQL高可用方案 MHA 什么是 MHA MHA(MasterHigh Availability)是一种经典的高可用架构,专门用于在主从复制环境中实现自动故障切换和最小化数据丢失。 MHA 作为 MySQL 主从复制环境下的高可用解决方案,具有自动化、低成本和稳定…

【Leetcode】单调栈

单调栈 单调栈是一种高效的栈结构,常用来解决数组中元素顺序相关的问题,如“下一个更大元素”等。其核心思想是通过维护栈内元素的单调性,并记录元素的间顺序关系,以减少不必要的比较操作。通常情况下,由于每个元素入…

Java8 实战阅读笔记

文章目录 1. Java 8、9、10以及11的变化1.1 为什么变化1.2 Java 为什么还在变1.3 Java 中的函数1.4 流 2. 通过行为参数化传递代码2.1 应对不断变化的需求2.2 行为参数化2.3 对付啰嗦2.3.1 匿名类2.3.2 Lambda 表达式2.3.4 List 类型抽象化 3. Lambda 表达式3.1 Lambda 管中窥豹…

Paimon x StarRocks 助力喜马拉雅构建实时湖仓

作者:王琛 喜马拉雅数仓专家 小编导读: 本文将介绍喜马拉雅直播的业务现状及数据仓库架构的迭代升级,重点分享基于 Flink Paimon StarRocks 实现实时湖仓的架构及其成效。我们通过分钟级别的收入监控、实时榜单生成、流量监测和盈亏预警&am…

面试题:JVM(二)

1. 面试题 简述 Java 类加载机制?(百度) JVM类加载机制 (滴滴) JVM中类加载机制,类加载过程,什么是双亲委派模型? (腾讯) JVM的类加载机制是什么? &#x…

【网络】传输层协议TCP(中)

目录 四次挥手状态变化 流量控制 PSH标记位 URG标记位 四次挥手状态变化 之前我们讲了四次挥手的具体过程以及为什么要进行四次挥手,下面是四次挥手的状态变化 那么我们下面可以来验证一下CLOSE_WAIT这个状态,这个状态出现的条件是后调用close的一方…

传输层TCP

报头 1.报头和有效载荷如何分离将,有效载荷向上交付? tcp有个标准报头长度为20,那是不是以为我们可以像udp一样分离依靠报头大小去分离,我们仔细去看我们报头中还有个选项没包含到。 我们还有个首部长度,四位可以表…

[Linux关键词]unmask,mv,dev/pts,stdin stdout stderr,echo

希望你开心,希望你健康,希望你幸福,希望你点赞! 最后的最后,关注喵,关注喵,关注喵,大大会看到更多有趣的博客哦!!! 喵喵喵,你对我真的…