当前位置: 首页 > article >正文

Centos7.9安装MySQL(二进制)

安装包

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/tcp

firewall-cmd --add-port=3306/tcp --permanent

firewall-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.kler.cn/news/368522.html

相关文章:

  • 入门 | Prometheus+Grafana 普罗米修斯
  • 51单片机完全学习——红外遥控
  • 微信小程序的日期区间选择组件的封装和使用
  • Kaggle比赛复盘
  • 服务器数据恢复—EXT3文件系统下邮件数据被误删的数据恢复案例
  • Spring-Day2
  • 端到端测试?何必Postman,试试Automan
  • netty之ServerBootstrap和Bootstrap
  • 优先算法:双指针、移动零
  • 程序员修仙传
  • Git详解
  • 使用教程:基于 uiautomator2 和 pytest 的图片相似度测试脚本
  • BERT 的 12 层维度变化详解:从输入到输出的逐步剖析
  • Kafka消费者故障,出现活锁问题如何解决?
  • UE材质节点arctangent2解析
  • 重学SpringBoot3-Spring WebFlux之Reactor事件感知 API
  • 机器视觉:9点标定的原理与实现
  • [专有网络VPC]ECS安全组配置案例
  • 【Python知识】一个强大的数据分析库Pandas
  • 基于Python的B站视频数据分析与可视化
  • Spring Boot框架下租房管理系统的设计与实现
  • spring-ai-alibaba下载
  • 【认知智能】编译器1
  • DataX
  • Oracle 权限相关的概念
  • Chromium HTML5 新的 Input 类型email对应c++