zoukankan      html  css  js  c++  java
  • Linux下MySQL(5.7.17)的安装

    一、MySQL的安装

    说明:

      Linux下软件的安装通常有三种方式:二进制、rpm、yum三种方式。它们三个具体的区别参考博客:

    https://www.cnblogs.com/LiuChunfu/p/8052890.html

    MySQL的下载:

      因为我使用的是阿里云服务器,联网的,所以我直接在linux下进行下载,使用Windows的小伙伴也可以将mysql下载本地再上传到服务器上面

    附上官网的下载链接通过命令行在服务器内下载软件包的连接:

    官网:MySQL官网下载

    服务器下载(联网):wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

    1、软件的卸载

    rpm -qa | grep mysql

    #若存在 mysql 安装文件,则会显示 mysql安装的版本信息

    如:mysql-connector-odbc-5.2.5-6.el7.x86_64

    #卸载已安装的MySQL,卸载mysql命令,如下:

    rpm -e --nodeps mysql-connector-odbc-5.2.5-6.el7.x86_64
    

    2、软件的解压重命名与移动

    解压:tar -zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
    重命名:mv mysql-5.7.17-linux-glibc2.5-x86_64 mysql
    移动:mv mysql /usr/local/
    

    3、添加用户组、用户  

     groupadd mysql
    
    useradd -g mysql mysql
    

    4、创建data目录

        #在/usr/local/mysql目录下创建data目录,数据库文件将会放在这里

    cd /usr/local/mysql
    
    mkdir data
    

    5、更改mysql目录的用户和组为mysql

    注意要是当前mysql目录:

    [root@zhixi mysql]# pwd
    /usr/local/mysql
    [root@zhixi mysql]# chown -R mysql:mysql ./
    

    6、配置my.cnf

    在5.7.18开始官方不再二进制包中提供my-default.cnf文件,参考官网:https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html

    我们这里在etc目录下新建一个my.cnf文件:

    [root@zhixi etc]# pwd
    /etc
    [root@zhixi etc]# touch my.cnf

     my.cnf配置文件解释:

    my.cnf文件就是把在命令行上启动MySQL时后面的参数用cnf文件配置好,那么下载启动时就不再需要在命令上加如参数。
    
    这个my.cnf文件可以是自定义位置,也可以使用如下默认的位置,只要放在默认位置,MySQL自动识别(通过deb或者APT源安装的,初始位置在下方列表):
    在Unix和类Unix系统上读取选项文件
    文件名                    目的
    /etc/my.cnf              全局选项    
    /etc/mysql/my.cnf        全局选项    
    SYSCONFDIR/my.cnf        全局选项    
    $MYSQL_HOME/my.cnf       服务器特定选项(仅限服务器)    
    defaults-extra-file      指定的文件 --defaults-extra-file(如果有的话)    
    ~/.my.cnf                用户特定的选项    
    ~/.mylogin.cnf           用户特定的登录路径选项(仅限客户端)    
    
    在上表中,~表示当前用户的主目录(的值 $HOME)。
    首先它会找/etc/my.cnf 这个文件, 如果这个文件不存在,那么它接下来去找/etc/mysql/my.cnf这个文件,依此类推
    

    my.cnf参数配置:具体的参考https://blog.csdn.net/bluerebel/article/details/89394066

    [mysql]
     
    # 设置mysql客户端默认字符集
    default-character-set=utf8
     
    socket=/tmp/mysql.sock
     
     
    [mysqld]
     
    #mysql无密码登陆
    #skip-grant-tables
     
    #禁用DNS解析
    #skip-name-resolve
     
    port=3306
    socket=/tmp/mysql.sock
     
    # 设置mysql的安装目录
    basedir=/usr/local/mysql
     
    # 设置mysql数据库的数据的存放目录
    datadir=/usr/local/mysql/data
     
    # 允许最大连接数
    max_connections=200
     
    # 服务端使用的默认字符集
    character-set-server=utf8
     
    # 创建新表时将使用的默认存储引擿
    default-storage-engine=INNODB
     
    #lower_case_table_name=1
    max_allowed_packet=16M
    

    7、初始化mysql(进入到mysql的bin目录)  

    #新版本中已经不再建议使用mysql_install_db来安装

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

    #执行完后会输出:红色的就是初始密码

    8、设置mysql为开机自启

        #拷贝mysql.server到init.d目录下
    
        cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
        chmod +x /etc/rc.d/init.d/mysqld
    
        #添加服务
    
        chkconfig --add mysqld
    
        #查看是否添加成功
    
        chkconfig --list mysqld 
    

    看到3、4、5状态为开或者为 on 则表示成功。如果是 关或者 off 则执行一下: chkconfig --level 345 mysqld on   

     

    9、配置环境变量

    vi /etc/profile
    
    #添加如下内容
    PATH=$PATH:/usr/local/mysql/bin
    export PATH
    
    #使配置生效 source /etc/profile
    #查看一下配置是否生效 echo $PATH

    10、初次登陆配置(修改密码)

        #登陆mysql,密码是上面提到的“wqYqOy)+o3yj”

    mysql -uroot -p密码
    

    注意:我这里报错, 提示我找不到mysql.sock,可是我在my.cnf中已经配置过了,比较无语,找了篇博客还是没解决:https://blog.csdn.net/qw_xingzhe/article/details/78699157

     我的解决方案是,给mysql设置为无需密码进行登录,修改/etc/my.cnf配置文件即可:

    然后使用命令:mysql,直接回车进入到mysql数据库中,进行修改密码:

    mysql> use mysql
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A
    
    Database changed
    mysql> update user set password=password('密码') where user='root' and host='localhost'; 
    ERROR 1054 (42S22): Unknown column 'password' in 'field list'
    mysql> update mysql.user set authentication_string=password('zhixi158') where user='root';
    Query OK, 1 row affected, 1 warning (0.00 sec)
    Rows matched: 1  Changed: 1  Warnings: 1
    
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)

    11、设置可以通过远程连接访问

    参考我的这篇博客:https://www.cnblogs.com/zhangzhixi/p/14396345.html

     登录成功!!!

     测试一下远程访问:成功

  • 相关阅读:
    Webforms与MVC的区别
    简易留言薄系统ASP.NET MVC(Model层)
    DataBase First 方法
    ASP.NET MVC 与 数据库交互
    简易留言薄系统ASP.NET MVC(Controller层)(上)
    简易留言簿系统ASP.NET MVC (后台基本完成)
    简易留言簿系统ASP.NET MVC (数据库设计)
    简易留言簿系统ASP.NET MVC(页面文档)
    互动媒体学习社区ASP.NET MVC 开发文档
    简易留言簿系统ASP.NET MVC(文档)
  • 原文地址:https://www.cnblogs.com/zhangzhixi/p/14961507.html
Copyright © 2011-2022 走看看