• Linux下安装Mysql5.7,超详细完整教程,以及云mysql连接


    安装前环境检查

    1、首先检查自己电脑有没有安装过mysql,输入如下

    rpm -qa | grep mysql 
    
    • 1

    如果有则清理干净在安装,输入

    whereis mysql
    
    • 1

    找到文件夹目录,再把它删除。

    rpm -e --nodeps mysql-xxxx
    
    • 1

    2、然后检查你系统是否自带mariadb,输入如下检查。

    rpm -qa | grep mariadb 
    
    • 1

    3、如果有则需要把它卸载掉,因为会和Mysql引起冲突,输入如下卸载掉。

    rpm -e --nodeps mariadb-libs
    
    • 1

    开始下载安装

    1、上官网下载安装包,这里有好几种方式,也可以使用wget等方式下载,首先进入mysql官网,点击downloads

    2、进入之后点击框住的地方。

    3、进入之后点击框体部分

    4、进入之后点击点击Archives,根据自己配置选择电脑位数,linux选择通用版本,这里楼主选择5.7.36版本,然后点击下载。

    5、为了方便,之后上传到linux下的**/usr/local?**目录下进行操作,然后执行解压命令:

    tar -zxvf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz
    
    • 1

    等待解压完成。

    6、修改文件夹名字为mysql5.7

    7、然后创建一个属组,添加mysql用户,紧接着修改属组及属组用户和文件夹权限;输入

    groupadd mysql          #创建属组
    useradd -r -g mysql mysql         #创建用户
    chown -R mysql:mysql mysql5.7,chmod -R 775 mysql5.7 #修改属组及属组用户和文件夹权限
    
    • 1
    • 2
    • 3

    这时是已经进入到**/usr/local**目录下操作。

    8、进入到mysql5.7目录下,先创建data目录用于保存数据文件。输入

    mkdir data
    
    • 1

    然后再进入**bin**目录下,执行初始化安装命令

    ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql5.7/data --basedir=/usr/local/mysql5.7
    
    • 1

    **注意这两个安装路径,datadir是设置mysql数据库的数据存放目录,basedir是设置mysql的安装目录。

    9、安装完成之后,最下方出现临时密码,记事本记录出现的临时密码,因为等会第一次进入需要它来登录mysql。

    10、然后呢需要去

    vi /usr/local/mysql5.7/support-files/mysql.server
    
    • 1

    修改指定的环境变量路径;进入之后发现这边目录下需要修改,因为刚刚楼主设置的安装目录是mysql5.7,如果之前改的名字是mysql,那这一步就可以省略了,按默认的就可以了。

    11、如下图修改为这样,然后**:wq?**保存退出。

    12、然后拷贝这份启动文件到系统环境下,当然建立软连接也可以,这里楼主使用软连接吧,输入

    ln -s /usr/local/mysql5.7/support-files/mysql.server /etc/init.d/mysql
    
    • 1

    然后查看是否成功

    ll /etc/init.d/mysql
    
    • 1

    13、再添加bin目录的软连接

    ln -s /usr/local/mysql5.7/bin/mysql /usr/local/bin/mysql
    
    • 1

    检查是否创建查成功

    ll /usr/local/bin/mysql
    
    • 1

    14、然后执行

    vi /etc/my.cnf
    
    • 1

    创建一个配置文件,设置好后,输入**:wq**?保存退出即可。

    [mysql]

    设置mysql客户端默认字符集

    default-character-set=utf8
    [mysqld]

    作用是禁止域名解析:在mysql的授权表中就不能使用主机名了,只能使用IP

    skip-name-resolve

    设置3306端口

    port = 3306
    #设置远程访问ip
    bind-address=0.0.0.0

    设置mysql的安装目录

    basedir=/usr/local/mysql5.7

    设置mysql数据库的数据的存放目录

    datadir=/usr/local/mysql5.7/data

    允许最大连接数

    max_connections=200

    服务端使用的字符集默认为8比特编码的latin1字符集

    character-set-server=utf8

    创建新表时将使用的默认存储引擎

    default-storage-engine=INNODB
    #设置查询操作等不区分大小写
    lower_case_table_names=1

    15、设置文件权限

    chmod -R 775 /etc/my.cnf
    
    • 1

    开始启动mysql服务

    1、输入启动命令

    service mysql start   #启动mysql服务
    service mysql stop    #停止mysql服务
    service mysql restart  #重启mysql服务
    
    • 1
    • 2
    • 3

    出现如下则成功打开

    2、输入

    chkconfig --add mysql 
    
    • 1

    设置开机自启,然后输入如下,查看是否开启

    chkconfig --list
    
    • 1

    3、首次登录mysql,并把密码修改,使用到刚才记录的临时密码登录进去,输入

    mysql -uroot -p
    
    • 1

    4、成功进去之后,输入如下,修改root账户的密码为123456,也可以修改成其他的。

    set password for root@localhost = password('123456')
    
    • 1

    5、出现如下Query OK 则证明成功修改。

    6、如果防火墙开着的话,建议使用

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

    开放3306端口,然后再使用

    firewall-cmd --reload
    
    • 1

    使之立即生效,这里楼主直接关闭了防火墙,也就没有使用这一步。

    到这里安装就完成啦。

    1、如果要配置远程连接用户的话,可以输入

    grant all privileges on *.* to '用户名'@'%' identified by '密码'
    
    • 1

    其中**%是指任意ip**,自己自定义一个远程可以访问的账户,账号和密码可以和本地root同名。

    2、如下为随意建立一个账户,使用

    select host,user,password_expired,password_last_changed,password_lifetime FROM mysql.user
    
    • 1

    3、查看当前mysql的用户。

    4、如果要删除用户,使用如下即可。

    drop user <用户名>
    
    • 1

    云主机ECS的mysql连接步骤:

    1、这时候连接云服务器上的话,这边楼主使用Navicat15连接的,其中远程用户名是刚刚创建的允许远程登录的mysql账户,以及对应密码。使用示范:

    2、然后还要去ssh填写云主机的ssh服务连接,如下:

    点击确定就可以连接上啦。

    可能出现的问题

    连接数据库发现mysql找不到mysql.sock

    先用find命令查找此文件夹

    find / -name "mysql.sock"
    
    • 1

    一般来说在**/tmp/mysql.sock**,此时可以复制一份到默认的目录,或者执行如下即可。

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

    希望我的教程可以帮助到你,祝你每天开心。

  • 相关阅读:
    云计算之分布式计算
    layui表格删除最后一页数据时,不会刷新到前一页问题:
    linux后台运行命令总结
    DataGrip 2023:让数据库开发变得更简单、更高效 mac/win版
    【数据结构】单链表之--无头单向非循环链表
    Android11适配
    BMS电池电荷均衡(被动电荷均衡与主动均衡)
    【原创】常用元器件(数码管)选型之引脚和极性识别-cayden20221029
    spring复习04,静态代理动态代理,AOP
    VivadoAndTcl: synth_ip
  • 原文地址:https://blog.csdn.net/m0_67390963/article/details/126034556