zoukankan      html  css  js  c++  java
  • Linux安装MySQL教程(一)

    mysql数据库的安装一般就三种环境,Windows、Mac、Linux,在这里Windows和Mac就不多说了,直接下载安装包,双击打开安装基本很简单;在这里主要说一下关于mysql在Linux环境下的安装

    主要介绍这么几点内容:

    1. 基本的安装步骤
    2. 安装过程中的注意事项
    3. 推荐安装位置
    4. 用户及操作权限设置

    下载mysql
    在官网:http://dev.mysql.com/downloads/mysql/ 中,根据自己的需要选择合适版本的mysql下载:

    在这里说一下安装路径问题:

      一般情况下将安装包下载到一个临时目录下,解压安装包至/usr/local/mysql,没有mysql的话就创建一个即可;其他基本默认即可,但这里仅建议自己装着玩的用户这么操作

      推荐目录(非练习系统,数据量大):

        安装文件下载目录:/data/software
        Mysql目录安装位置:/usr/local/mysql
        数据库保存位置:/data/mysql
        日志保存位置:/data/log/mysql

      说明一下:/usr为系统盘,也就是说和Linux系统一个磁盘上;/data为运维同事给分配的专门数据盘,和系统分开的专门存储数据的一个磁盘;

          mysql应用可以直接安装在系统盘上,所需空间有限,不会越来越大;/data目录采用专门磁盘,用于存储专门的数据库数据、日志等信息,因为他会随着业务的发展越来越大,在单独的盘上存储,更方便扩容,又可以避免存在在系统盘上因为数据的增多导致系统盘空间满,影响系统的启动和运行;下面我们就按照以上推荐目录进行操作安装:

      mkdir命令创建好所需目录,这里就不多做赘述,不会的自行百度

    将下载好的安装文件放到服务器上,解压安装包

      执行如下命名:
        #mkdir /data/software
        #cd /data/software

      --下载安装包 

      --建议:在windows上使用迅雷下载,速度很快(我的是1M/s),然后用工具(Xftp)上传到 /data/software目录下;
      #wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz

    解压压缩包到目标位置

      #cd /data/software

      --解压压缩包

      #xz -d mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz

      注:这里是.tar.xz而不是.tar.gz;解压tar.xz文件:先 xz -d xxx.tar.xz 将 xxx.tar.xz解压成 xxx.tar 然后,再用 tar xvf xxx.tar来解包。

      #tar -xvf mysql-8.0.19-linux-glibc2.12-x86_64.tar

      --移动并修改文件名

      #mv /data/softwaremysql-8.0.19-linux-glibc2.12-x86_64 /usr/local/mysql

    新建mysql用户、组及目录
    #  groupadd mysql    ---新建一个mysql组
    # useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql     ---新建mysql用户禁止登录shell

      -r : 创建系统账户

      -s : 指定用户登入后所使用的shell。默认值为/bin/bash。如果不想让用户登录系统可以用 -s /sbin/nologin.此用户就不可以登录系统。

      -g:指定用户所属的群组。值可以使组名也可以是GID。用户组必须已经存在的,期默认值为100,即users。

      -d:指定用户登入时的主目录,替换系统默认值/home/<用户名>

    改变目录属有者

    #cd /usr/local/mysql
    #pwd
    #chown -R mysql .
    #chgrp -R mysql .

    #chown -R mysql:mysql /data/mysql

    #chown -R mysql:mysql /data/log

    配置参数

    #vim /etc/my.cnf

    然后 按 i 进入编辑模式,把下面内容复制进去

    [mysqld]
    port=3306
    user=mysql
    datadir=/data/mysql
    basedir=/usr/local/mysql
    #log-error=/data/log/mysql.err
    #此处如果配置了log-error,那么在接下来的操作中,执行命令如果没有打印出日志可以直接到这来查看
    #并且这个地方需要特别注意的就是个别版本的mysql在这个地方有个bug!务必注意!!!
    #个别版本在配置了该参数以后,数据库启动会报错,提示需要手动创建该日志目录及日志文件,且分配好文件用户权限,mysql不能自动创建该日志文件
    pid-file=/usr/local/mysql/mysql.pid

    初始化mysql

    #cd /usr/local/mysql/bin/

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

     查看初始密码,复制出来(注:此处如果没有在my.cnf中配置log-error的话,执行上一条./mysqld语句会直接打印出来日志及初始密码,务必保存好初始密码)

    #vim /data/log/mysql.err

    启动mysql,并更改root 密码

    #cd /usr/local/mysql/bin/

    #./mysqld start

    未启动成功报错:

    #./mysqld 

    直接用./mysqld启动则启动成功 

    查看是否启动

    #ps -ef|grep mysql

    登录并修改密码

    mysql -hlocalhost -uroot -p

    输入刚刚初始化时生成的密码

     输入基本查询数据库命令(show databases;)提示需要更改密码;第一次登录需要重新修改密码才可以使用

    修改密码:

    mysql> ALTER user 'root'@'localhost' IDENTIFIED BY '12345678';

    刷新权限,使其及时生效

    mysql> flush privileges;

     

    初始化完成

    以上操作中还有一个地方需要在此补充:

    问题:我们在执行mysqld和mysql命令时只能到mysql的安装目录下的bin里面执行,在其他目录中执行报找不到命令

    原因:mysqld和mysql为新安装数据库的命令,存在于mysql安装目录下的bin目录里;在系统其他路径下是找不到的,故需要配置环境变量

    解决方案:

      # vim /etc/profile
      添加:
      export PATH=/usr/local/mysql/bin:$PATH

    source /etc/profile  #使添加变量生效

    ******将mysql加入到可控制启动的服务的文件夹内,并命名mysql,即service可控制的服务名,至此可用service mysql start控制启动mysql

    /etc/init.d 是/etc/rc.d/init.d的链接,在/etc/init.d添加一个文件会同步在/etc/rc.d/init.d下添加一个相同文件

    # cd /usr/local/mysql/

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

      现在可以使用下面的命令启动mysql

        service mysql start

      停止mysql服务

        service mysql stop

      重启mysql服务

        service mysql restart

      下面两种命令作用相同

        systemctl [stop|start|restart] 服务名

        service 服务名 [stop|start|restart]

    Linux的mysql数据库安装在此已编写完成,此时回想起自己在平时工作用遇到的几个问题点,记录在此,在接下来的文章中会陆续总结整理:

    1. my.cnf配置文件详解
    2. mysql的基础常用命令总结
    3. mysql数据库忘记密码
    4. mysql关于只能本地登录,不能远程登录的设置
    5. mysql的备份
    6. mysql间的实时同步
  • 相关阅读:
    【Linux】【jenkins】自动化部署一 安装jenkins及Jenkins工作目录迁移
    【Linux】【docker】docker私服安装
    【Linux】【docker】docker及docker-compose安装
    【Linux】【tomcat】tomcat8.5安装
    【Linux】【jdk】jdk8.0安装
    【Linux】【mysql】mysql8.0开启远程访问及常见问题
    【Linux】记录一个yum update和upgrade的区别
    【Linux】【gitlab】gitlab安装、备份、恢复、升级、内存消耗问题
    Python序列——列表
    Python序列——元组
  • 原文地址:https://www.cnblogs.com/linuxtop/p/12156270.html
Copyright © 2011-2022 走看看