zoukankan      html  css  js  c++  java
  • linux学习(十)linux安装MySQL

    一、前言

      由于我使用的是阿里云的服务器,后面会加入配置阿里云的部分,非阿里云的linux系统可以省略后面的步骤,根据自己系统的情况进行配置~

      PS:我安装的是mysql5.7.24的版本,其他版本的MySQL不一定适用此文,仅供参考

    二、安装前准备

    卸载已经安装的MySQL

    #1、检查是否安装过mysql 
    rpm -qa | grep mysql

    #2、若已经安装则运行下面的命令
    rpm -e --nodeps 安装的文件

    #3、再次检查是否安装过mysql,直至出现下图情况
    rpm -qa | grep mysql

    删除所有Mysql对应的文件夹 

    #1、查询mysql相关的文件目录
    find / -name mysql

    #2、删除相应的目录和文件,多个空格间隔可以一起删除
    rm -rf 目录1 目录2
    
    #3、再次检查mysql相关的文件目录是否已经全部删除,直至出现下图情况
    find / -name mysql

    重新创建MySQL相关的用户和组

    #1、先检查mysql用户组和用户是否存在
    cat /etc/group | grep 组名 #检查组
    cat /etc/passwd |grep 用户名 #检查用户信息

    #2、没有时,创建新的MySQL组和用户
    groupadd 组名 #创建组
    useradd -r -g 组名 用户名 #创建用户【-r指的是创建系统用户,-g指的是给mysql用户分配到mysql组里】

    下载安装包 

    #1、新建一个mysql目录
    cd /usr/local #进入目录
    mkdir mysql #新建mysql目录
    cd mysql #进入新建的mysql目录
    
    #2、用下载工具命令wget来下载安装包
    wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

    三、正式安装

    解压

    #1、解压
    tar xzvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

    #2、存放好安装包
    mv mysql-5.7.24-linux-glibc2.12-x86_64 mysql #把解压出来的文件夹改名
    mkdir plugins #新建一个目录存放安装包
    mv mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz plugins/ #移动安装包到新的目录

    创建数据库路径

    #3、创建用于存储数据库数据的目录
    mkdir /usr/local/mysql/mysql/data

    更改mysql目录权限

    #4、更改目录的属主和属组【-R表示目录及子目录和文件】
    chown -R mysql:mysql /usr/local/mysql
    
    #5、更改目录的用户权限
    chmod -R 755 /usr/local/mysql

    编译并安装 

    #6、进入mysql的bin目录
    cd /usr/local/mysql/mysql/bin
    
    #7、编译
    ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/mysql/data --basedir=/usr/local/mysql/mysql

    安装成功后出现下图,红框部分为临时密码:

    PS:若编译失败时,尝试以下命令后再编译:

    #安装linux的异步I/O接口
    yum install libaio-devel.x86_64

    #安装numactl工具
    yum -y install numactl

    四、配置MySQL

    更改配置文件

    #1、查看my.cnf文件权限【默认为644】
    ls -l /etc/my.cnf
    
    #2、开放配置文件my.cnf权限
    chmod 777 /etc/my.cnf
    
    #3、编辑mysql的配置文件my.cnf
    vim /etc/my.cnf
    
    #4、在my.cnf中输入下面的配置并保存
    [mysqld]
    basedir=/usr/local/mysql/mysql datadir
    =/usr/local/mysql/mysql/data port = 3306 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES symbolic-links=0 max_connections=400 innodb_file_per_table=1 #5、恢复my.cnf文件权限【默认为644】 chmod 644 /etc/my.cnf

    启动MySQL

    #启动Mysql服务
    /usr/local/mysql/mysql/support-files/mysql.server start

     出现下图即安装并启动成功:

    五、更便捷地使用MySQL

    软连接

      软连接类似于windows的快捷方式:

    #创建启动类软连接
    ln -s /usr/local/mysql/mysql/support-files/mysql.server /etc/init.d/mysql
    
    #创建目录软连接
    ln -s /usr/local/mysql/mysql/bin/mysql /usr/bin/mysql
    
    #重启MySQL服务
    service mysql restart

    修改密码

    #登录mysql【输入密码为上面步骤的初始密码】
    mysql -u root -p
    
    #修改密码
    set password for root@localhost = password('新密码');

    开放远程连接

    #打开mysql数据库
    use mysql;
    
    #开放远程机器链接【相当于改user这个系统表】
    update user set user.Host='%' where user.User='root';
    
    #刷新系统权限相关表
    flush privileges;

    原理解析:实际上是打开了mysql这个数据库,然后修改了user这个表的一条记录:

    命令执行结果:

    设置开机自动启动

    #将服务文件拷贝到init.d下,并重命名为mysqld
    cp /usr/local/mysql/mysql/support-files/mysql.server /etc/init.d/mysqld
    
    #赋予可执行权限
    chmod +x /etc/init.d/mysqld
    
    #添加服务
    chkconfig --add mysqld
    
    #显示服务列表
    chkconfig --list

    六、开放阿里云安全组【非阿里云搭建的同学选看】

       在服务器控制台找到如下路径:

    • 网络与安全--安全组--配置规则--添加安全组规则

       配置完成后保存,并重启实例,就可以使用数据库可视化工具来测试链接了~

    参考资料:

     

  • 相关阅读:
    .NET Windows服务开发流程
    SQL Server 动态行转列(参数化表名、分组列、行转列字段、字段值)
    SQL触发器批量删除数据库中的表
    如何使用Chrome Timeline 工具(译)
    修复运行 tasklist 命令时提示 ERROR: Not found
    删除坏掉的 Active Directory Domain
    为 WSUS 服务器定期运行清理向导
    为 Exchange 服务器编写自定义的反垃圾插件
    Windows 10 下安装 npm 后全局 node_modules 和 npm-cache 文件夹的设置
    在 Win10 命令行使用 Consolas + 微软雅黑
  • 原文地址:https://www.cnblogs.com/riches/p/12263103.html
Copyright © 2011-2022 走看看