Linux 安装MySQL 8.0 超详细教程(mysql 8.0.30)

目录

一、卸载mariadb

1、检查Linux是否安装了mariadb数据库

2.全部卸载

3. 检查mariadb是否全部卸载

二、 删除之前安装的mysql

1、查找以前是否装有mysql

2、查找之前安装的mysql的目录、并且删除mysql的文件和库

3、卸载后/etc/my.cnf不会删除,需要进行手工删除

三、安装并配置MySQL

1.创建mysql文件夹并切换路劲

2.下载mysql

3.解压mysql

4.重命名文件夹并删除压缩包

5.创建用户组以及用户和密码

6.授权用户

7.切换到bin目录下,初始化基础信息得到临时密码

8.编辑配置文件my.cnf

9.切换到mysql-8.0目录下,添加mysqld服务到系统

10.授权以及添加服务

11.启动mysql

12.查看启动状态

13.将mysql命令添加到系统指令

14.登录mysql,密码使用之前随机生成的密码

15.修改root密码

16.执行 flush privileges 使密码生效

17.选择mysql数据库

18.修改远程连接并生效,%表示开启远程权限

19.退出MySQL:

20.查看mysql是否开机启动

三、Linux虚拟机防火墙开放端口号3306,实现MySQL远程连接

1.查看3306端口状态

2、如果是no,表示关闭,打开3306端口

3、防火墙重载

4、再次查看3306端口状态

四、登录MySQL

————————————————

一、卸载mariadb

如果Linux中安装了mariadb数据库,先卸载掉,因为CentOS 7 内部集成了mariadb,mariadb数据库是mysql的分支,而安装mysql的话会和mariadb的文件冲突,所以需要先卸载掉mariadb

1、检查Linux是否安装了mariadb数据库

yum list installed | grep mariadb

无结果,说明未安装,否则需要全部卸载

2.全部卸载

yum -y remove mariadb*

3. 检查mariadb是否全部卸载

yum list installed | grep mariadb

无结果,说明已经全部卸载

二、 删除之前安装的mysql

1、查找以前是否装有mysql

rpm -qa|grep -i mysql

无结果,说明未安装mysql或已经卸载彻底,接下来直接安装mysql即可,否则需要删除之前安装的mysql

2、查找之前安装的mysql的目录、并且删除mysql的文件和库

查找mysql的目录

find / -name mysql

删除对应的mysql目录

rm -rf 查找到的mysql的目录

3、卸载后/etc/my.cnf不会删除,需要进行手工删除

rm -rf /etc/my.cnf

三、安装并配置MySQL

1.创建mysql文件夹并切换路劲

local目录一般是linux上安装文件的地方,所以选这个路径

cd /usr/local

mkdir mysql

cd mysql

2.下载mysql

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

3.解压mysql

tar xvJf mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz

4.重命名文件夹并删除压缩包

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

rm -rf mysql-8.0.30-linux-glibc2.12-x86_64

5.创建用户组以及用户和密码

groupadd mysql

useradd -g mysql mysql

为什么要创建mysql分组: 我们在编译安装的时候创建一个mysql组和一个mysql用户,并把datadir和安装目录属主改为mysql,在MySQL启动的时候,单进程mysqld,该进程的属主就是mysql,这样就保证了mysql服务的独立性,即便mysql服务被黑掉,得到了mysql用户权限,也不会影响整个系统的安全

6.授权用户

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

7.切换到bin目录下,初始化基础信息得到临时密码

cd bin

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

8.编辑配置文件my.cnf

如果没有 my.cnf 文件就通过命令 touch /etc/my.cnf 创建一个

vi /etc/my.cnf

内容如下:

[mysql]

#MySQL 提示符配置

#用户名@主机名+数据库名

#prompt="\\u@\\h [\\d]>"

#用户名@主机名+mysql版本号+数据库名

prompt=\\u@\\h \\v [\\d]>\\_

#用户名@主机名+当前时间+mysql版本号+数据库名

#prompt="(\\u@\\h) \\R:\\m:\\s \\v [\\d] \n>"

[mysqld]

#mysql安装根目录

basedir = /usr/local/mysql/mysql-8.0/

#mysql数据文件所在位置

datadir = /usr/local/mysql/mysql-8.0/data/

#设置socke文件所在目录

socket = /tmp/mysql.sock

#数据库默认字符集, 主流字符集支持一些特殊表情符号(特殊表情符占用4个字节)

character-set-server = utf8mb4

#数据库字符集对应一些排序等规则,注意要和character-set-server对应

collation-server = utf8mb4_general_ci

#设置client连接mysql时的字符集,防止乱码

init_connect='SET NAMES utf8mb4'

9.切换到mysql-8.0目录下,添加mysqld服务到系统

cd /usr/local/mysql/mysql-8.0

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

10.授权以及添加服务

chmod +x /etc/init.d/mysql

chkconfig --add mysql

11.启动mysql

service mysql start

12.查看启动状态

service mysql status

13.将mysql命令添加到系统指令

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

实现在任何目录下执行 mysql -uroot -p 就可以进行登录

14.登录mysql,密码使用之前随机生成的密码

mysql -uroot -p

————————————————

如果出现报错 error while loading shared libraries: libtinfo.so.5 解决办法

ls /usr/lib64
Linux 安装MySQL 8.0 超详细教程(mysql 8.0.30)_第1张图片

为此命令创建一个同步链接并命名为libtinfo.so.5即可

ln -s /usr/lib64/libtinfo.so.6.2 /usr/lib64/libtinfo.so.5

注:不同Linux版本下的 libtinfo.so 版本号可能不同,根据自己的修改

15.修改root密码

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

修改root用户密码为 123456 ,也可以换成别的

16.执行 flush privileges 使密码生效

flush privileges;

17.选择mysql数据库

use mysql;

18.修改远程连接并生效,%表示开启远程权限

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

flush privileges;

19.退出MySQL:

\q

20.查看mysql是否开机启动

chkconfig --list

如果 mysql服务的 第3、4、5项都是开着的,则已经开启了开机启动,反之则没有。

如果没有,可以用命令设置开机自启动:

systemctl enable mysqld.service

再次查看mysql是否开机启动:

chkconfig --list

三、Linux虚拟机防火墙开放端口号3306,实现MySQL远程连接

1.查看3306端口状态

firewall-cmd --zone=public --query-port=3306/tcp

2、如果是no,表示关闭,打开3306端口

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

3、防火墙重载

firewall-cmd --reload

4、再次查看3306端口状态

firewall-cmd --zone=public --query-port=3306/tcp

应该是yes,说明端口已经打开,去navicat测试连接,输入ip和root账户密码,即可成功!

四、登录MySQL

执行下面命令,输入密码“123456”并确认:

mysql -uroot -p

或者执行下面命令一键登录:

mysql -uroot -hlocalhost -p123456

注:-p后跟密码

————————————————

版权声明:本文为CSDN博主「程序前行者」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/m0_62808124/article/details/126436925

你可能感兴趣的:(linux,mysql,数据库)