zoukankan      html  css  js  c++  java
  • Linux下安装mysql5.7

    一  官网下载 mysql-5.7.12-linux-glibc2.5-x86_64.tar.gz

    目前最新为5.7.16,可以直接下载mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz,

    这里用的是5.7.12,未下载最新的,不过,安装方式一样。

    官网地址: http://www.mysql.com/downloads/

    点击Mysql Community Server后进入如下页面:

    选择对应位数版本点击Download,目前官网已经更新到5.7.16,可以直接下载最新版本安装,5.7安装方式一样:

    进入下载页面点击下载即可:

    下载完后通过Xftp等方式上传到linux系统习惯目录下。

    二  安装mysql

    ******(1) 卸载mysql******

    如果系统没有安装过mysql,此步骤不需要

    1. 关闭mysql服务

    2. 检查是否有rpm包,如果没有用rpm安装过mysql,不应该有残留,如果有,需要删掉

    检查语法: rpm -qa|grep -i mysql

    删除语法: rpm -e <包的名字>

    如果遇到依赖,无法删除,使用 rpm -e --nodeps <包的名字> 不检查依赖,直接删除rpm包。

    3. 通过find命令检查是否有安装mysql文件,有需要删除

    检查语法: find / -name mysql

    删除语法: rm -rf 目录文件(或文件)

    除了自己下载的或解压的,其余的都干掉。

    ******(2)创建mysql分组和用户******

    1. 暴力删除mysql用户

    删除语法: userdel -r -f mysql(如果没有,会提示你mysql不存在,不用在意)


    2. 添加分组

    添加语法: groupadd mysql

    3. 添加mysql用户

    添加语法: useradd -g mysql mysql

    4. 给mysql用户设置密码

    passwd mysql

    如图:

    关于: userdel: warning: can't remove /var/spool/mail/mysql: No such file or directory

    因为没有/var/spool/mail/mysql,所以警告,通过find / -name mysql确实没有检查到,

    不用管提示,直接往下创建分组和添加mysql用户即可。

    如果系统没有安装过mysql,应该不会出现这种情况。

    ******(3)解压tar包******

    1. cd到mysql-5.7.12-linux-glibc2.5-x86_64.tar.gz目录

    2. 解压tar包

    解压语法:tar zxvf mysql-5.7.12-linux-glibc2.5-x86_64.tar.gz 

    解压后多出一个mysql-5.7.12-linux-glibc2.5-x86_64的文件,

    将这个文件复制到自己喜欢的目录,重命名为mysql,复制的时候请耐心等待,

    复制完后,cd到mysql目录,新建一个data的文件夹。

    复制语法: cp -r mysql-5.7.12-linux-glibc2.5-x86_64  /usr/local/mysql

    新建文件语法: mkdir data

    如图:

    ******(4)安装执行******

    1. cd到/usr/local/mysql目录,如果已经在mysql目录,无需改变

    通过pwd查看当前所在目录,确认是否在mysql目录

    2. cd到/usr/local/mysql/bin目录,执行如下命令

    ./mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

    回车执行即可

    执行结果如图:

    3. 从上图中的警告可以看出,mysql_install_db已经不再使用了,建议我们使用mysqld进行安装,执行如下命令

    ./mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ 

    回车执行即可

    如图:

    回车后,看到打印出一大堆信息,看上去很有希望,耐心等待。

    当然了,如果看到最后打印到:

    Version: '5.7.12'  socket: '/tmp/mysql.sock'  port: 3306  MySQL Community Server (GPL)

    如图:

    如果看到这句话的时候,如果你用的是shell,复制一个终端窗口,在新窗口中继续下面的操作。

    复制方法如图:

    ******(5)测试mysql是否能启动******

    1. cd到/usr/local/mysql/support-files/

    编辑mysql.server,语法为: vim mysql.server

    如图:

     2. 修改basedir和datadir路径

    basedir=/usr/local/mysql

    datadir=/usr/local/mysql/data

    如图:

    3. 保存并退出,如果使用x命令无法保存退出,可以使用wq!保存并强制退出

    保存并退出步骤:

    先按键盘最左上角的Esc键,

    然后按住shift键,并且输入:号

    最后输入wq!

    回车保存并退出

    如图:

    4. 启动测试

    ./mysql.server start

    如图:

    如果你看到Starting Mysql SUCCESS!, 说明我们已经成功安装了MySql,因为我们启动成功了,

    如果走到了这步成功,继续往下参考,否则需要仔细检查下是什么地方出问题了。

    注意:安装仅供参考,如有毛病,还请多包容,每个人的系统或环境有区别。

    ******(6)创建软连接******

    ln -s /usr/local/mysql/bin/mysql /usr/bin

    如图:

    软连接有啥用,说白了,就是给linux系统加上mysql这个命令,linux系统命令放在/usr/bin下,

    与在windows中命令存在C:WindowsSystem32目录下一样,windows上命令都是xxx.exe形式,

    比如telnet.exe,如果没有这个文件,windows命令窗口使用的时候就会提示命令telnet命令不存在,

    这个地方操作,就是为了后面使用mysql命令的时候,能够有这个命令做铺垫。

    ******(7)创建mysql配置文件******

    1. my.cnf配置

    首先,如果/etc/my.cnf存在,直接删掉my.cnf

    然后,mv /usr/local/mysql/support-files/my-default.cnf  /etc/my.cnf

    编辑,vim /etc/my.cnf

    如图:

    在my.cnf中,找到[mysqld],在此下增加如下配置:

    basedir=/usr/local/mysql

    datadir=/usr/local/mysql/data

    character_set_server=utf8

    [client]

    default-character-set=utf8

    同时删掉或注释掉my.cnf文件中的内容:

    #sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

    如图:

    最后保存并退出。

    2. mysqld配置

    2.1.  拷贝启动文件到/etc/init.d/下并重命令为mysqld

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

    2.2. 增加执行权限

    chmod 755 /etc/init.d/mysqld

    2.3. 检查自启动项列表中没有mysqld

    chkconfig --list mysqld

    2.4. 如果没有就添加mysqld

    chkconfig --add mysqld

    2.5. 设置开机启动

    chkconfig mysqld on

    2.6. 启动测试

    service mysqld start

    如图:

    说明我们的配置文件成功,mysql彻底安装完成。

    ******(8)重置密码******

    1. 修改配置文件my.cnf

    vim  /etc/my.cnf

    2. 找到[mysqld]在之后添加

    skip-grant-tables

    保存退出

    3. 重启mysql服务
    service mysqld  restart

    重启如图:

    4. 直接登陆mysql而不需要密码

    mysql -u root -p (一路直接回车)

    进入后的效果:

    5. 在mysql中输入

    update mysql.user set authentication_string=password('123456') where user='root';

    6. 刷新权限
    flush privileges

    如图:

    7. 退出mysql,到my.cnf中把开始添加的skip-grant-tables注释掉或删掉


    8. 重启mysql服务

    service mysqld  restart

    9. 登录

    mysql -u root -p

    输入密码,即可。

    如图:

    完成以上工作后,我们的mysql算是装完了,但是,想让外界可以通过工具连接还需要设置。

    ******(9)工具连接3306端口数据库******

    1. 登陆mysql

    mysql -u root -p

    2. 修改mysql库的user表,将host项,从localhost改为%。

    %这里表示的是允许任意host访问,如果只允许某一个ip访问,则可改为相应的ip。

    注:以下命令建议手动输入,避免不必要的麻烦。

    3. use mysql;

    4. SET PASSWORD = PASSWORD('123456');


    5. update user set host = '%' where user = 'root'; 

    6. select host, user from user;

    7. flush privileges;

    如图:

    8. 防火墙开放3306端口

    编辑iptables文件:

    在文件中增加3306端口,保存并退出,比如:

    重启iptables:

    语法: service iptables restart

    如图:

    9. 让我们用工具连接试试

    输入你数据库所在服务ip, 数据库密码,上面设置的密码是123456,根据你设置而定。

    一路确定,看到默认效果:

    通过工具,任意操作数据库。

    到此,mysql安装完成。

  • 相关阅读:
    LeetCode Subsets II
    LeetCode Rotate Image
    LeetCode Palidrome Number
    LeetCode Generate Parentheses
    LeetCode Maximum Subarray
    LeetCode Set Matrix Zeroes
    LeetCode Remove Nth Node From End of List
    Linux Loop设备 使用
    Linux 文件系统大小调整
    LeetCode N-Queens II
  • 原文地址:https://www.cnblogs.com/givemelove/p/8360798.html
Copyright © 2011-2022 走看看