Centos7 如何部署MySQL8.0.30数据库

 更新时间:2024年05月23日 09:38:29   作者:珍朱(珠)奶茶  
这篇文章主要介绍了Centos7 如何部署MySQL8.0.30数据库,本文通过图文并茂的形式给大家介绍的非常详细,感兴趣的朋友一起看看吧

一、下载MySQL

官网:https://dev.mysql.com/downloads/mysql/

二、安装

2.1、将mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz文件上传到服务器中

如图:

解压命令:

xz -d mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz
# 将tar文件解压到/usr/local/目录下
tar -xvf mysql-8.0.30-linux-glibc2.12-x86_64.tar -C /usr/local
cd /usr/local/
# 修改MySQL文件名
mv mysql-8.0.30-linux-glibc2.12-x86_64 mysql-8.0.30
# 创建数据存放目录
mkdir /usr/local/mysql-8.0.30/data

2.2、检查libaio是否有安装

yum search libaio

图中是有安装过了

安装命令:

yum install libaio

如果没有安装libaio,在初始化数据库时会报如下错误:
mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

2.3、配置环境变量

vim /etc/profile
export MYSQL_HOME=/usr/local/mysql-8.0.30/bin
export PATH=$PATH:$MYSQL_HOME

配置好后保存退出,并重新加载配置

source /etc/profile

2.4、创建用户、用户组

# 创建用户
groupadd mysql
# 创建用户组
useradd -g mysql mysql
# 授权
chown -R mysql.mysql /usr/local/mysql-8.0.30

2.5、初始化数据库

# 不忽略表名大小写
mysqld --user=mysql --basedir=/usr/local/mysql-8.0.30 --datadir=/usr/local/mysql-8.0.30/data/ --initialize
# 忽略表名大小写
mysqld --user=mysql --lower-case-table-names=1 --basedir=/usr/local/mysql-8.0.30 --datadir=/usr/local/mysql-8.0.30/data/ --initialize

初始化后会有一个默认密码,找到root@localhost:,后面就是初始密码,将初始密码复制出来

注意:在初始化数据库时需区分忽略大小写问题,如果初始化时没有设置忽略大小写,后面在配置文件配置后,重启MySQL会报错,如下:

2.6、修改/etc/my.cnf配置文件

[client]
port=3306
socket=/tmp/mysql.sock
default-character-set=utf8mb4
[mysqld]
basedir=/usr/local/mysql-8.0.30
datadir=/usr/local/mysql-8.0.30/data
socket=/tmp/mysql.sock
user=mysql
port=3306
character_set_server=utf8mb4
# explicit_defaults_for_timestamp=true
lower_case_table_names = 1
sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
[mysqld_safe]
log-error=/usr/local/mysql-8.0.30/data/error.log
pid-file=/usr/local/mysql-8.0.30/data/mysqld.pid
tmpdir=/tmp

授权文件my.cnf

cd /etc/
chown mysql:mysql my.cnf
chown mysql my.cnf
chmod 755 my.cnf

2.7、设置开机自启动

cp /usr/local/mysql-8.0.30/support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on

2.8、启动MySQL

# 启动
service start mysqld
# 停止
service stop mysqld
# 查看状态
service status mysqld

2.9、修改密码、密码插件

进入MySQL,输入初始密码进入mysql

mysql -u root -p

修改初始密码:

alter user 'root'@'localhost' identified by '123456';

修改密码插件

update user set authentication_string='' where user='root';
flush privileges;
update user set plugin='mysql_native_password' where user='root';
flush privileges;
# 允许除localhost外访问
update user set host='%' where user='root' and host='localhost';
flush privileges;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';
flush privileges;

到此这篇关于Centos7 如何部署MySQL8.0.30数据库的文章就介绍到这了,更多相关Centos7 部署MySQL8.0.30内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySql8 WITH RECURSIVE递归查询父子集的方法

    MySql8 WITH RECURSIVE递归查询父子集的方法

    这篇文章主要介绍了MySql8 WITH RECURSIVE递归查询父子集的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • MySQL递归查询的3种实现方式实例

    MySQL递归查询的3种实现方式实例

    在项目中会遇到同一个表中保存着父子关系的数据,最常见的就是处理树形结构资源,下面这篇文章主要给大家介绍了关于MySQL递归查询的3种实现方式,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-04-04
  • 使用mysql查询显示行号的示例代码

    使用mysql查询显示行号的示例代码

    MySQL变量是一种用于存储和操纵数据的数据类型,通过在SQL查询中使用变量,我们可以创建一个MySQL查询,用于获取每行数据的行号,本文给大家介绍了使用mysql查询显示行号的示例代码,需要的朋友可以参考下
    2024-01-01
  • MySQL数据库中如何查询近一年的数据

    MySQL数据库中如何查询近一年的数据

    最近碰到一个需求是统计某张表的数据,统计时间维度为近一年,下面这篇文章主要给大家介绍了关于MySQL数据库中如何查询近一年的数据的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-07-07
  • mysql insert的几点操作(DELAYED,IGNORE,ON DUPLICATE KEY UPDATE )

    mysql insert的几点操作(DELAYED,IGNORE,ON DUPLICATE KEY UPDATE )

    DELAYED 做为快速插入,并不是很关心失效性,提高插入性能。
    2010-04-04
  • MySQL中使用PROFILING来查看SQL执行流程的实现步骤

    MySQL中使用PROFILING来查看SQL执行流程的实现步骤

    在MySQL中,PROFILING功能提供了一种方式来分析SQL语句的执行时间,包括查询执行的各个阶段,如发送、解析、优化、执行等,这对于诊断性能问题非常有用,本文给大家介绍了MySQL中使用PROFILING来查看SQL执行流程的实现步骤,需要的朋友可以参考下
    2024-07-07
  • SQL PRIMARY KEY唯一标识表中记录的关键约束语句

    SQL PRIMARY KEY唯一标识表中记录的关键约束语句

    这篇文章主要为大家介绍了SQL PRIMARY KEY唯一标识表中记录的关键约束语句详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • 使用Canal监听MySQL Binlog日志的实现方案

    使用Canal监听MySQL Binlog日志的实现方案

    本文档探讨了在分布式系统中处理超时未支付订单的挑战与解决方案,文档还详细介绍了MySQL Binlog的配置、Canal中间件的部署与配置,以及消息监听处理的实现,确保了方案的可操作性,需要的朋友可以参考下
    2024-12-12
  • 21条MySQL优化建议(经验总结)

    21条MySQL优化建议(经验总结)

    这篇文章主要介绍了21条MySQL优化建议,均来自个人的实战经验总结,需要的朋友可以参考下
    2014-07-07
  • MySQL rand()函数、rand(n)、生成不重复随机数

    MySQL rand()函数、rand(n)、生成不重复随机数

    MySQL提供了rand()函数来生成随机数,包括无参数rand()和有参数rand(n)等,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-11-11

最新评论