zoukankan      html  css  js  c++  java
  • Linux下安装配置MySQL5.7服务器

    Linux下安装配置MySQL服务器


    在centos7中如果安装mysql的话,一般首先要卸载掉mariadb,删掉/ect/my.cnf等文件。 

    一、安装环境
    ============

    OS:centos6.8

    MySQL:mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz

    安装目录:/usr/local/mysql57
    用root用户安装。
    安装目录规划:
    /usr/local/mysql57
                     |----mysql-5.7.16-linux-glibc2.5-x86_64 
                     |----mysql  ->mysql-5.7.16-linux-glibc2.5-x86_64 
                     |----data
     
    二、安装步骤
    ============
    1、解压安装包
    [root]#cd /usr/local
    [root]#mv  /path/to/mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz  .
    [root]#tar -xzf mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz
    [root]#mkdir mysql57
    [root]#mv mysql-5.7.16-linux-glibc2.5-x86_64  mysql57/
    [root]#cd mysql57
    [root]#ln -s mysql-5.7.16-linux-glibc2.5-x86_64  mysql
     
    以上步骤之后,就将mysql安装到/usr/local/mysql目录中了。
     
    2、创建数据目录data和配置文件my.cnf
    创建数据目录data
    [root]#cd /usr/local/mysql57
    [root]#mkdir data       
    创建配置文件my.cnf
    [root]#cp /usr/local/mysql57/mysql/support-files/my-default.cnf  /etc/my.cnf
    [root]#vi /etc/my.cnf
    在其中设置:
    [mysqld]
    basedir = /usr/local/mysql57/mysql
    datadir = /usr/local/mysql57/data
    port = 3306
     
    3、添加bin到path环境变量
    在/etc/profile中添加以下内容:
    export PATH=/usr/local/mysql57/mysql/bin:$PATH
    保存退出,之后source /etc/profile
     
    4、创建mysql用户和mysql用户组 
    [root]#groupadd mysql     
    [root]#useradd -r -s /bin/false -g mysql mysql
    这句话的意思是创建一个 -r 系统用户, -s值得它的shell,是不用登陆的shell。
     
    5、初始化数据目录
    这条命令的作用是初始化mysql中初试的数据库,比如mysql库,information_schema, performance_schema, sys等四个库。
    [root]#bin/mysqld --user=mysql --basedir=/usr/local/mysql57/mysql --datadir=/usr/local/mysql57/data --initialize-insecure
    在Ubuntu16.04上执行这条命令的时候,会提示系统没有libaio.so.1这个动态链接库,这时候需要apt-get install libaio-dev,安装完成后,就可以正常初始化数据目录了。
    这条命令执行后会初始化数据目录  data,同时,由于指定了 --initialize-insecure选项,所以初始化后,不会对root用户设置随机的密码。
    mysql一般初始化数据目录的时候,会给root设置一个随机密码,这样要记住第一登录以后,可以自己设置自己想设置的密码,这里为了方便就不让它自己生成随机密码了,一会儿第一次登录的时候,自己设置密码。
     
    6、启动mysql数据库服务器
    [root]#cd /usr/local/mysql57/mysql
    [root]#bin/mysqld_safe --user=mysql &
     
    7、登录mysql服务器并修改root用户密码
    下面用mysql的命令来为root用户设置密码:
    [root]#cd /usr/local/mysql57/mysql
    [root]#mysql -uroot --skip-password
    mysql>set password for 'root'@'localhost' = password(‘123456’);   #设置root密码为123456
    mysql>quit;
    设置root密码还有很多其他的方法。
    如下是另一种,这种方法是使用SQL语言中的update语句去更新系统数据库mysql中user表:
    mysql>use mysql;
    mysql>update user set password=password('123456') where user='root'; 
    mysql> flush privileges;   
     flush privileges 命令本质上的作用是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。 
     
    这样mysql服务器就安装好了,可以登录mysql服务器,执行一些基本命令来验证服务器。
     
    以下两步是做额外的设置。 
    8、添加root用户的远程访问权限
    为什么要添加root用户的远程访问权限呢?因为默认情况下,mysql系统是不允许root用户从远程登录的,只允许root用户从本地登录,为了方便管理,这才要给加添root的远程权限。
    [root]#mysql -uroot -p
    mysql>grant all privileges on *.* to root@'%' identified by '123456';  #允许远程以root用户操作所有的数据库
    mysql>flush privileges;
    mysql>quit;
     
    9、设置mysql服务器开机自启动
    [root]#cp /usr/local/mysql57/mysql/support-files/mysql.server /etc/init.d/mysqld
    [root]#vi /etc/init.d/mysqld
    打开mysqld文件,往其中的basedir和datadir中输入正确的路径。
    basedir=/usr/local/mysql57/mysql
    datadir=/usr/local/mysql57/data
     
    #设置开机自启动
    [root]#chkconfig --add mysqld
    [root]#chkconfig --level 345 mysqld on
     
    这样就配置好了mysql服务器。这样配置的服务器可以开机之后自己启动在后台运行,可以通过远程客户端使用root用户来管理。
    三、连接MySQL服务器
    ========================
    TCP/IP方式(可以用于远程连接、也可以用于本地连接):
    mysql -uroot -poldboy123 -h 10.0.0.51 -P3306
    Socket方式(只能用于本地连接):
    mysql -uroot -poldboy123 -S /tmp/mysql.sock

    本地连接服务器,既可以用tcp/ip方式,也可以使用socket方式,而远程连接服务器,因为客户端是在远程,所以只能用tcp/ip的方式。

    连接MySQL服务器有两种方法:本地连接和远程连接。

    1、本地连接
    本地连接,也叫SOCKET连接,指的是在MySQL服务器所在的机器上通过socket文件创建的连接。通常要检查MySQL服务器状态时,就可以登录到MySQL服务器所在的机器,通过本地连接的方式连接到MySQL服务器,去检查MySQL服务器的状态。或者在应用开发过程中,应用和MySQL部署在同一台机器上,这时候连接MySQL服务器就可以通过本地连接的方式进行。
    $mysql -S/tmp/mysql.sock -uroot -p   #mysql服务器启动后一般在/tmp目录下创建一个mysql.sock的socket文件,当然如果一般情况在本地的话,连接的时候可以省去-S。
    2、远程连接
    远程连接,也叫TCP/IP连接,指的是从MySQL服务器以外的服务器或客户端连接MySQL服务器的方式。远程连接和本地连接唯一的区别就是,远程连接需要指定MySQL服务器的IP地址和它监听的端口号。通过,当MySQL服务器和应用服务器部署在不同的服务器上的时候,就需要从应用服务器远程连接到MySQL服务器上去操作MySQL服务器。
    $mysql -h127.0.0.1 -P3306 -uroot -p
     
     
  • 相关阅读:
    微擎签名出错 invalid signature
    微擎 pdo_fetchall() 函数
    Qt 文本文件的读写操作
    Qt Qlistwidget、Qlistview
    Qt保留小数点后一位、两位……
    Excel怎么快速删除全部空行
    光学镜头参数详解(EFL、TTL、BFL、FFL、FBL/FFL、FOV、F/NO、RI、MTF、TV-Line、Flare/Ghost)
    Image J 介绍
    C# MODBUS协议上位机程序
    C/C++ memmove与memcpy的区别及实现
  • 原文地址:https://www.cnblogs.com/zhangzl419/p/7071829.html
Copyright © 2011-2022 走看看