linux系统安装Mysql数据库详解

发布时间:2023-09-12 15:30

       作为一个初学者,第一次在CSDN写东西,此时的心情非常忐忑;但是呢,学会了东西就要分享出来,不停下来总结,时间用来摸鱼吗?以下是我对linux安装mysql方法的整理。

一、准备工作

1、查询MySQL是否安装软件包

rpm -aq | grep -i  mysql

\"linux系统安装Mysql数据库详解_第1张图片\"

 若每有安装包则跳过此步骤,之前存有安装包的则卸载

pm -ev mysql-community-server-8.0.20-1.el7.x86_64
rpm -ev mysql-community-client-8.0.20-1.el7.x86_64
rpm -ev mysql-community-libs-8.0.20-1.el7.x86_64 --nodeps(忽略依赖 --nodeps)
rpm -ev mysql-community-common-8.0.20-1.el7.x86_64

继续查询还有剩下没有删除的Mysql文件

find / -name \"mysql\"

 \"\"

 此时我在查询发现此处有如下文件,注意:这两个文件不能进行删除(ps:这块我删除了之后发现之后配置初始化的时候没有my.cnf文件)

2、在/usr/local/mysql下安装mysql,注意安装有先后,有依赖关系

yum remove mysql-libs

清除之前安装过的所有依赖

\"linux系统安装Mysql数据库详解_第2张图片\"

二、安装mysql

1、关闭服务器的防火墙

systemctl stop firewalld.service

2、将mysql安装包上传到usr/local/下解压安装(此处我使用的事mysql-8.0.25版本)

(1)上传并解压mysql安装包

tar -xvf mysql-8.0.25-linux_64.tar.xz

(2)解压完成后,可以看到当前目录下多了一个解压文件,移动该文件到/usr/local/下,并将文件夹名称修改为mysql。(若已经存在mysql文件夹则将其改名为其他的)

(3)在/usr/local/mysql目录下创建data目录

mkdir /usr/local/mysql/data       ----创建
chmod +777 /usr/local/mysql/data  ----授予全部权限

3、添加mysql用户和组,并修改对应权限

groupadd mysql          ---添加mysql组
useradd -g mysql mysql  ---添加mysql用户

更改/usr/local/mysql 文件夹所有者属性和对应权限

chown -R mysql:mysql /usr/local/mysql/
chown -R mysql /usr/local/mysql/
chmod -R 755 /usr/local/mysql/

4、安装libaio 依赖包 如果已安装则跳过

yum install libaio

\"linux系统安装Mysql数据库详解_第3张图片\"

5、初始化安装命令

在/usr/local/mysql根目录下执行如下命令(ps mysqld 在数据库软件目录的bin下面)

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

其中:

basedir:数据库软件根目录,即解压后复制到的地方

datadir:数据库数据存储目录,这个就是前面mkdir data前面建立的

记住最后几个字符生成的临时数据库登录密码记住是冒号后面的都是密码(如下图)ed!m&HrUv2OS

\"linux系统安装Mysql数据库详解_第4张图片\"

6、修改配置文件

修改配置文件里面datadir、basedir等对应的目录。

配置文件里所有配置的文件位置必须真实存在,不存在的需要手动创建;并且赋予对应的文件权限。

vim /etc/my.cnf(windows系统则是 vim /etc/my.ini)

\"linux系统安装Mysql数据库详解_第5张图片\"

 

datadir----数据文件存放的目录      Basedir----mysql的根目录      socket----锁文件存放的路径

log-err----错误日志存放的路径      pid-file----进程号文件存放的路径

7、创建日志文件并赋予对应权限

mkdir mariadb        ----创建mariadb文件夹

touch mariadb.log    ----创建mariadb.log文件

\"linux系统安装Mysql数据库详解_第6张图片\"

设置日志文件所有者和对应权限

chown -R mysql:mysql /var/log/mariadb/
chown -R mysql /var/log/mariadb/
chmod -R 755 /var/log/mariadb/

8、将mysql加入服务并设置开机自启动

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

开机启动

chkconfig mysql on

9、配置环境变量

配置mysql的环境变量

vi /etc/profile

export MYSQL_HOME=/usr/local/mysql
export MYSQL_PATH=${MYSQL_HOME}/bin:${MYSQL_HOME}/lib
export PATH=$PATH:$MYSQL_PATH

10、启动Mysql服务并连接数据库

service mysql start

\"\"

看到 Starting MySQL. SUCCESS! 代表启动成功。(success真帅)

 三、连接数据库

1、连接数据库 使用临时密码登录

mysql -u root –p

\"linux系统安装Mysql数据库详解_第7张图片\"

2、修改密码为‘123’

ALTER USER \'root\'@\'localhost\' IDENTIFIED WITH mysql_native_password BY \'123\';

3、创建数据库suc

create database ncw;

4、修改允许远程连接允许远程连接例如Navicat 等客户端登录

进入mysql:  mysql -u root -p
运行mysql:  use mysql;
查看用户表:  SELECT `Host`,`User` FROM user;
更新用户表:  UPDATE user SET Host = \'%\' WHERE  User = \'root\' ;
强制刷新权限:flush privileges;
关闭mysql:   exit;

over!!

至此mysql在linux中的安装就完成了(我这是基于纯净的linux centos7系统)当整个过程很少有一翻风顺的时候,多多少少会遇到些许问题,其中

① \"\"

解决方法:

因为命令行直接查找的是/usr/local/bin下边的命令,需要我们把mysql的命令放到.bash_profile中。

vim ~/.bash_profile 添加:export PATH=$PATH:/usr/local/mysql/bin

保存退出即可,然后重启

source ~/.bash_profile

② mysql登录过程报如下错误

\"\"

解决方法:

首先要知道原因:不能连接本地的mysql服务,因为找不到mysql.sock这个文件,所以要先查看有没有这个文件

find / -name mysql.sock

\"\"

 发现有结果,则只需要将查到的结果做一个软连接到/tmp目录下即可

ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

或者

cd /usr/local/mysql
sudo ./support-files/mysql.server start

就可以登陆了

此问题是看这位大佬文章才得以解决,以下附上链接

亲测有效,解决Can \'t connect to local MySQL server through socket \'/tmp/mysql.sock \'(2) \";_hjf161105的博客-CSDN博客

 

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号