Linux 下 MySQL 8.0版本的安装以及部署的详细步骤(超完整)
2021/11/19 19:39:47
本文主要是介绍Linux 下 MySQL 8.0版本的安装以及部署的详细步骤(超完整),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
准备工作
-
操作系统:Linux CentOS 7.9
-
MySQL安装包:在官网下载需要的版本,这里我用的版本是 MySQL 8.0.11
mysql-8.0.11-linux-glibc2.12-x86_64.tarMySQL官网下载地址: https://dev.mysql.com/downloads/mysql/
-
最好使用管理员权限 (root 用户)
su root
开始
将安装包上传至服务器 解压到当前文件夹:
tar -xvf mysql-8.0.11-linux-glibc2.12-x86_64.tar
tar -zxvf mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz
移动解压后的目录到目标安装目录:
sudo mv mysql-8.0.11-linux-glibc2.12-x86_64 /usr/local
文件名太长,改成 mysql-8.0.11:
mv mysql-8.0.11-linux-glibc2.12-x86_64 mysql-8.0.11
增加用户组 mysql:
sudo groupadd mysql
在用户组下增加用户 mysql:
sudo useradd -r -g mysql mysql
检查用户组、用户是否存在:
groups mysql
若存在则显示 mysql : mysql
;若不存在,则显示 groups: mysql: No such user
将安装目录 /usr/local/mysql-8.0.11/ 的所有者及所属组改为 mysql:
chown -R mysql:mysql /usr/local/mysql-8.0.11/
修改配置文件 my.cnf:
touch /etc/my.cnf
vim /etc/my.cnf
增加配置,设置编码格式及忽略大小写:
[mysqld] basedir=/usr/local/mysql-8.0.11 datadir=/usr/local/mysql-8.0.11/data port=3306 socket=/tmp/mysql.sock character_set_server=utf8 lower_case_table_names=1 log-error=/usr/local/mysql-8.0.11/data/mysql.log pid-file=/usr/local/mysql-8.0.11/data/mysql.pid [mysql] default-character-set = utf8
注意: MySQL 8.0 版本的忽略大小写配置 lower_case_table_names=1
一定要在执行初始化前写在配置文件里,我之前遇到过这坑,当时像用 5.7 版本一样先初始化然后再改的配置文件,导致 mysql 无法启动,所以不同版本间的差异一定要注意!
在 mysql-8.0.11 目录下创建一个 data 文件夹:
cd mysql-8.0.11
mkdir data
初始化:
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql-8.0.11/ --datadir=/usr/local/mysql-8.0.11/data/
如果出现以下错误:
./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
./bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
执行以下命令后重试:
yum install libaio
yum -y install numactl
将mysql加入到可控制启动服务的文件夹内,并命名mysql(service可控制的服务名):
目的:可用 service mysql start
命令来控制启动 mysql
cd support-files
cp mysql.server /etc/init.d/mysql
配置环境变量:
vim /etc/profile
在底部添加以下内容:
export MYSQL_HOME="/usr/local/mysql-8.0.11" export PATH="$PATH:$MYSQL_HOME/bin"
让修改的profile文件立即生效:
source /etc/profile
启动并登录 mysql 进行操作
启动 mysql:
service mysql start
登录 mysql:
mysql -u root -p
初始密码可以查看 /usr/local/mysql-8.0.11/data/mysql.log
日志文件,在前面几行中找到生成的密码,如下所示:
[Note] [MY-010454] [Server] A temporary password is generated for root@localhost: dOwfzj.Fj7KC
拿到密码 dOwfzj.Fj7KC
登录 mysql ~
修改密码:
mysql> use mysql;
mysql> ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘你的密码’;
mysql> flush privileges;
注意: 还是版本的差异问题,MySQL 8.0 版本与 5.7 版本修改密码的命令以及下面的授权命令都有或多或少的不同,一定要注意!
创建用户并授权(可根据自己的需求自由设置):
mysql> create user ‘root’@’%’ identified by ‘你的密码’;
mysql> grant all privileges on *.* to ‘root’@’%’;
mysql> flush privileges;
注意: MySQL 5.7 版本只需一行命令即可完成,8.0 版本需要拆分成两行!
允许使用某个用户名及密码从任何主机连接到该 mysql 服务:
注意: 上一步骤创建的 root 用户在创建时就已完成该设置,可根据需求查看 mysql.user 表中的 host 列来判断是否需要执行此设置,这里还是以 root 用户为例!
mysql> use mysql;
mysql> update user set host=’%’ where user = ‘root’;
mysql> flush privileges;
退出后重启服务:
mysql> exit
service mysql restart
到此结束
现在 MySQL 的安装、配置和部署已经完成,可以连接了!
这篇关于Linux 下 MySQL 8.0版本的安装以及部署的详细步骤(超完整)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-23BinLog入门:新手必读的MySQL二进制日志指南
- 2024-10-23Binlog入门:MySQL数据库的日志管理指南
- 2024-10-22MySQL数据库入门教程:从安装到基本操作
- 2024-10-22MySQL读写分离入门教程:轻松实现数据库性能提升
- 2024-10-22MySQL分库分表入门教程
- 2024-10-22MySQL慢查询的诊断与优化指南
- 2024-10-22MySQL索引入门教程:快速理解与应用指南
- 2024-10-22MySQL基础入门教程:从安装到基本操作
- 2024-10-22MySQL数据库中的Binlog详解与操作教程
- 2024-10-12部署MySQL集群项目实战:新手入门教程