linux笔记:centos8极简方式安装mysql8.0

217 阅读2分钟

image.png

 前言

作为开发的同学,数据库想必大家都很熟悉。但是要在服务器上自己来安装数据库,还是会出现不少的问题。所以,这篇文章就来说一下安装mysql数据库的具体步骤,严格按照本文步骤可以顺利安装,这也是我连续在多台linux服务器安装后的精简版。

本次演练安装的mysql 版本是:mysql-8.0.20

下面我们正式开始

第一步:下载mysql,并解压

(1) 在 /use/local下 创建mysql文件夹

mkdir mysql

(2) 进入mysql目录,使用wget命令下载安装包

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

(3)解压文件

tar -xvf  mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

 (4)改名。为了方便访问,可以重命名文件夹或是加软连接(二选一)

修改文件名:

mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql-8.0

 加软连接:

ln -s mysql-8.0.20-linux-glibc2.12-x86_64 mysql-8.0

 第二步:创建用户,并赋予权限

(1)进入mysql-8.0目录下,创建data文件夹,用来存储文件

mkdir data

 (2)创建mysql组和用户

groupadd mysql

useradd -r -g mysql mysql

 

 (3)赋予权限

chown -R mysql.mysql /usr/local/mysql/mysql-8.0

第三步:初始化mysql

(1)进入bin目录下

(2)初始化信息,得到临时密码(保存好,初次进入mysql需要用到)

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

 第四步:配置参数

(1) 编辑my.cnf文件,加入以下信息,并保存。

[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql/mysql-8.0
datadir=/usr/local/mysql/mysql-8.0/data
socket=/tmp/mysql.sock
#character config
character_set_server=utf8mb4
symbolic-links=0

(2)添加mysqld服务到系统 

cp -a ./support-files/mysql.server /etc/init.d/mysql

(3)授权以及添加服务 

chmod +x /etc/init.d/mysql
 
chkconfig --add mysql

第五步:启动mysql 

(1)启动mysql

(2)查看启动状态

(3)将mysql命令添加软连接,方便进入mysql

ln -s /usr/local/mysql/mysql-8.0/bin/mysql /usr/bin

 (4)进入mysql,发现报错,缺少libtinfo.so.5文件。(若进入mysql正常,则忽略(5)的操作)

 (5)进入bin目录,查看mysql依赖,发现有一个文件not found。解决办法就是:复制一份libtinfo.so.5文件,并放入 /usr/lib64 目录下:(文件地址:pan.baidu.com/s/1SFza-Fa2…)

ldd mysql

 我是用的FlashFXP工具直接上传到对应的目录,上传完之后在重新进入mysql,输入之前保存的临时密码,成功进入。

(6)修改root密码,改成自己定义的。

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'xxxxx';

修改完成之后,还需要执行以下命令,是密码生效。

flush privileges;

 第六步:使用数据库连接工具进行连接(Navicat)

(1)直接进行连接,发现连不上。是因为默认只能本地连接,还需要修改host。

选择mysql库

use mysql;

(2)修改远程连接,并使之生效。

update user set host='%' where user='root';

flush privileges;

(3)使用工具进行连接

 

 结语

到这里就结束了,感谢大家的阅读。若有疑问的地方,欢迎评论区留言讨论~