Linux下安装MySQL8.0

一、安装

1.下载安装包

先创建一个mysql目录,在将压缩包下载到此

shell 复制代码
# 下载tar包
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

等待下载成功

2.解压mysql8.0安装包

shell 复制代码
tar xvJf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz 

查看版本

mysql --version

3.重命名解压出来的文件夹

这里改成mysql-8.0

bash 复制代码
mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql-8.0

/mysql-8.0文件夹下创建data文件夹 存储文件

bash 复制代码
mkdir data

4.分别创建用户组以及用户和密码

(如果提示已存在说明之前有创建过了)

bash 复制代码
groupadd mysql
useradd -g mysql mysql

授权刚刚新建的用户

bash 复制代码
chown -R mysql.mysql /opt/mysql/mysql-8.0
chmod 750 /opt/mysql/mysql-8.0/data -R

5.始化数据库

shell 复制代码
bin/mysqld --initialize --user=mysql --basedir=/opt/mysql/mysql-8.0 --datadir=/opt/mysql/mysql-8.0/data

注:运行指令后将会出现如下输出,记住临时密码,每次运行上述指令生成的临时密码都不一样,我这里是:7Jl44eCeJ!.u

可能会出现的问题:

解决方法:

shell 复制代码
# 检查库是否安装
rpm -qa|grep libaio   
# 安装库
yum install  libaio-devel.x86_64

6.编辑配置文件my.cnf

shell 复制代码
vim /etc/my.cnf
shell 复制代码
[mysqld]
 basedir=/usr/local/mysql8
 datadir=/usr/local/mysql8/data
 socket=/tmp/mysql.sock
 character-set-server=utf8
 default_authentication_plugin=mysql_native_password
 port=3306

7.创建MySQL服务

添加Mysql到系统服务(当前目录应为:/usr/local/mysql8)

shell 复制代码
cp -a ./support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
chkconfig --add mysql

检查服务是否生效

shell 复制代码
chkconfig --list mysql

二、启动服务调整配置

1.启动服务

启动服务

shell 复制代码
service mysql start

这里可能出现的问题:

解决办法:

shell 复制代码
mkdir /var/log/mariadb     
touch /var/log/mariadb/mariadb.log

# mysql 用户和用户对目录进行授权
chown -R mysql:mysql /var/log/mariadb/

# 再次启动mysql服务,每次开机后,要手动启动一下
/opt/mysql/mysql-8.0/support-files/mysql.server start

查看状态

shell 复制代码
service mysql status

2.修改密码

登录mysql可能会出现如下错误

解决办法:

shell 复制代码
ln -s /opt/mysql/mysql-8.0/bin/mysql /usr/bin

登录mysql

shell 复制代码
mysql -uroot -p

输入或粘贴之前记录的临时密码并回车:7Jl44eCeJ!.u

修改密码

sql 复制代码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

# 例如
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '654321';

3.添加远程登录配置

sql 复制代码
create user root@'%' identified by '新密码';
grant all privileges on *.* to root@'%' with grant option;

# 例如
create user root@'%' identified by '654321';
grant all privileges on *.* to root@'%' with grant option;

root表示想要被连接的数据库的用户名

其中"%"表示允许所有机器能访问root用户

刷新权限

sql 复制代码
flush privileges;

查看设置结果

sql 复制代码
use mysql;
select host,user,plugin,authentication_string from user;

4.开放防火墙3306端口

到这里mysql已经可以本地连接上了,但是要用图形化界面远程连接,还需要开发防火墙的3306端口才行

--permanent代表永久生效,否则重启linux后则需要再次开启

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

firewall-cmd --reload

查看防火墙端口开放状态

firewall-cmd --list-all

自此在linux系统上安装mysql8已经完成,并且可以使用图形化界面远程连接

5.添加全局环境变量

编辑 / etc/profile 文件

shell 复制代码
vi /etc/profile

在文件底部添加,保存退出

shell 复制代码
export PATH=$PATH:/opt/mysql/mysql-8.0/bin:/opt/mysql/mysql-8.0/lib
export PATH

刷新配置

shell 复制代码
source /etc/profile

参考:

Linux下安装MySQL8.0的详细步骤(解压tar.xz安装包方式安装)

Linux安装MySQL8

相关推荐
大聪明-PLUS21 小时前
关于新的 Linux 内核接口 gpio uapi 的说明
linux·嵌入式·arm·smarc
玉树临风江流儿21 小时前
Linux驱动开发总结速记
linux·运维·驱动开发
cccyi721 小时前
Linux 进程信号机制详解
linux·signal·volatile
花月C1 天前
高效查找数据的数据结构—MySQL 索引
数据结构·数据库·mysql
gd63213741 天前
银河麒麟 aarch64 linux 里面的 qt 怎么安装kit
linux·服务器·qt
A-花开堪折1 天前
Qemu 嵌入式Linux驱动开发
linux·运维·驱动开发
磊灬泽1 天前
【Linux驱动开发】PWM子系统-servo
linux·运维·算法
PiscesCanon1 天前
达梦开启awr功能报错:[-7160]:Object [DBMS_WORKLOAD_REPOSITORY_DATA_LOW] is invalid
数据库·mysql
郝学胜-神的一滴1 天前
Linux系统函数stat和lstat详解
linux·运维·服务器·开发语言·c++·程序人生·软件工程
冻咸鱼1 天前
数据库操作
数据库·mysql·数据库操作