Linux 安装Mysql 详细教程(图文教程)

首先通过 xshell 或者 putty 远程进入Linux 命令行操作界面。

Xshell 的安装

1.去 XShell - Download 下载需要的版本。

XShell免费版(解决官网打不开的问题)

百度网盘:https://pan.baidu.com/s/1-pgv4cChPPdqU_JFI5H33Q
密码6dj5

【1】查看是否已经安装 Mysql

rpm -qa | grep mysql

下面是我的操作,可见并没有安装 Mysql,那么直接进入【2】

如果你查看出来有东西,可以使用下面命令将其删除(xxx 为文件全名)

rpm -e xxx

【2】下载官方 Mysql 包

1. 下载mysql   MySQL :: Download MySQL Community Server (Archived Versions)

选择对应的包 如下5.7包

  2. 上传解压(解压后可删除安装包,节省空间)

tar -zxvf mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz

3. 先检查是否有mysql用户组和mysql用户,没有就添加有就忽略:(如果不使用mysql用户可能存在安全问题)

groups mysql 

 添加用户组和用户 groupadd mysql && useradd -r -g mysql mysql

4.创建数据目录并赋予权限 (赋予所有mysql涉及到的目录)

       mkdir -p /data/mysql
  chown mysql:mysql -R /data/mysql

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

       chown mysql:mysql -R /tmp

5.修改配置文件  vim /etc/my.cnf (没有就新建,注意文件格式要是liunx格式的)

[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true

6. 初始化

解压后的mysql-5.7.35-linux-glibc2.12-x86_64文件移动到/usr/local/mysql (文件夹名称修改为mysql不带版本号信息)

cd /usr/local/mysql/bin/
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize

7. 查看初始密码(可以跳过,因为密码太复杂比较难输入)

cat /data/mysql/mysql.err

 8. 启动mysql (复制文件,使启动更加简单)

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

 修改密码

1. 开启免密码登陆 修改my.cnf文件   默认在/etc/my.cnf。

 vim /etc/my.cnf         在【mysqld】模块下面添加:skip-grant-tables 保存退出。

 2. 重启服务,使配置生效 。   

 service mysql restart

3. 登陆     /usr/local/mysql/bin/mysql -u root -p   //不输入密码直接敲回车键

4. 刷新规则允许外部访问
  use mysql      #选择访问mysql库
  update user set host = '%' where user = 'root';      #使root能再任何host访问
  FLUSH PRIVILEGES;       #刷新 

5.修改密码

ALTER USER "root"@"%" IDENTIFIED  BY "1234";

FLUSH PRIVILEGES;       #刷新 

 6. 退出   quit     

   把/etc/my.cnf免密删掉。

    重启服务    service mysql restart

7. 登陆   /usr/local/mysql/bin/mysql -u root -p   //输入刚修改的密码1234敲回车键

用户权限之创建新用户并给授权指定的数据库权限

创建mysql新用户

CREATE USER 'test'@'%' IDENTIFIED BY '123';

备注上面@后的命令解释

'%' - 所有情况都能访问
‘localhost’ - 本机才能访问
’111.222.33.44‘ - 指定 ip 才能访问

3.给用户授予权限

grant all on 数据库名.数据库表 to 用户名@'%'  identified by "密码";

备注

all 可以替换为 select,delete,update,create,drop
数据库名 所有的 用*
数据库表 所有的 用*

如果是阿里云ECS,记得查看云安全组规则是否开放了3306端口,如果没有,记得加上

查看磁盘空间 df -h

du -ah --max-depth=1

Linux中删除文件夹中所有文件或子文件夹

rm -rf 文件夹

安装过程错误记录:

如果你在使用systemctl start mysql.service命令时遇到了Failed to start mysql.service: Unit mysql.service not found.的错误,这表示systemd并没有找到名为mysql.service的服务单元文件。这是因为你通过mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz这种二进制包方式安装的MySQL并不会自动创建systemd服务单元文件。

要解决这个问题,你需要手动创建一个systemd服务单元文件,或者使用MySQL提供的启动脚本来启动MySQL服务。以下是手动创建systemd服务单元文件的步骤:

  1. 创建服务单元文件‌:
    /etc/systemd/system/目录下创建一个新的服务文件,比如mysql.service。你可以使用文本编辑器(如vinano等)来创建和编辑这个文件。

     

    bashCopy Code

    sudo vi /etc/systemd/system/mysql.service

  2. 编辑服务单元文件‌:
    在服务文件中添加以下内容,根据你的MySQL安装路径和实际情况调整ExecStart等参数的值:

     

    iniCopy Code

    [Unit] Description=MySQL Server After=network.target [Service] User=mysql Group=mysql ExecStart=/path/to/mysql-8.0.27/bin/mysqld --defaults-file=/path/to/mysql-8.0.27/my.cnf ExecStop=/path/to/mysql-8.0.27/bin/mysqladmin --defaults-file=/path/to/mysql-8.0.27/my.cnf shutdown Restart=on-failure [Install] WantedBy=multi-user.target

    请确保将/path/to/mysql-8.0.27/替换为你的MySQL实际安装路径,并且my.cnf配置文件路径也正确。

  3. 重新加载systemd配置‌:
    保存并关闭服务文件后,运行以下命令来重新加载systemd的配置:

     

    bashCopy Code

    sudo systemctl daemon-reload

  4. 启动MySQL服务‌:
    现在你可以尝试启动MySQL服务了:

     

    bashCopy Code

    sudo systemctl start mysql.service

  5. 检查服务状态‌:
    使用以下命令来检查MySQL服务的状态,确保它已经成功启动:

     

    bashCopy Code

    sudo systemctl status mysql.service

  6. 设置服务开机自启‌:
    如果你希望MySQL服务在系统启动时自动启动,可以使用以下命令:

     

    bashCopy Code

    sudo systemctl enable mysql.service

如果你不想使用systemd来管理MySQL服务,你也可以直接使用MySQL提供的启动脚本来启动和停止MySQL服务。这通常涉及到运行MySQL安装目录下的mysqld命令,并可能需要使用mysqladmin命令来停止服务。不过,使用systemd是更现代和推荐的方式,因为它可以更好地集成到系统的服务管理中。

评论 85
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值