zoukankan      html  css  js  c++  java
  • Linux虚拟机下mysql 5.7安装配置方法图文教程

    一、 下载mysql5.7

    http://mirrors.sohu.com/mysql/MySQL-5.7/

    Linux下载:

    输入命令:wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

    二、建立用户,以及mysql的目录

    1、建立一个mysql的组

    输入命令: groupadd mysql

    2、建立mysql用户,并放到mysql组

    输入命令:useradd -r -g mysql mysql

    3、给mysql用户设置密码

    输入命令:passwd mysql

    三、解压mysql

    1、把下载的mysql的包移动到Linux虚拟机下

    2、把tar包放到/usr/local 目录下

    输入命令:mv /software/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz /usr/local

    3、解压

    输入命令:cd /usr/local

    输入命令:tar xzvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

    4、把解压出来的文件改下名字,改为mysql

    输入命令:mv mysql-5.7.17-linux-glibc2.5-x86_64 mysql

    四、配置相关的启动配置文件

    1、复制my_default.cnf到/etc/my.cnf (mysql启动时自动读取)

    输入命令:cp my-default.cnf /etc/my.cnf

    2、解决乱码问题

    输入命令:vi /etc/my.cnf

    更改:

    1
    2
    3
    4
    5
    [mysql]
    default-character-set=utf8
    [mysqld]
    default-storage-engine=INNODB
    character_set_server=utf8

    3、复制mysql.server 到/etc/init.d/

    输入命令:cp mysql.server /etc/init.d/mysql

    4、修改 /etc/init.d/mysql 参数,给予2个目录位置

    输入命令:vi /etc/init.d/mysql

    更改:basedir=/usr/local/mysql

       datadir=/usr/local/mysql/data

    5、 给目录/usr/local/mysql 更改拥有者

    输入命令:chown -R mysql:mysql /usr/local/mysql/

    五、初始化mysql的数据库

    1、初始化数据库

    首先要去到mysql/bin目录下

    老版本的命令:mysql_install_db

    新版本的命令./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

    生成出一个data目录,代表数据库已经初始化成功

    2、给数据库加密

    输入命令: ./mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data

    3、启动mysql

    输入命令:./mysqld_safe --user=mysql &

    &符号:把当前进程丢给后台

    六、 进入客户端

    1、 登录

    输入命令:./mysql -uroot –p

    然后输入你的临时密码

    2、此时root用户不输密码登陆报错。需要更改/etc/my.cnf配置文件,然后重启mysql

    输入命令:vi /etc/my.cnf

    添加

      [mysqld]

      skip-grant-tables

    输入命令:service mysql restart

    3、 修改密码(切记:修改完密码后,需要执行flush privileges;

    输入命令:set password=password('你的密码');

     mysql -uroot -p免密码登陆后,修改密码时报错:

    报错:ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables opt

    原因:权限没有刷新

    解决:在mysql中执行命令:flush privileges;

    4 查询当前mysql中所有的用户 更多详细命令参考

    SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

    新建用户:

    CREATE USER 'mysql'@'localhost' IDENTIFIED BY 'mysql';

    为用户授权:

      格式:grant 权限 on 数据库.* to username@登录主机 identified by "password"; 
      实例:grant all privileges on testDB.* to mysql@localhost identified by 'mysql';
      (为了时其他机器而访问) mysql@'%'
      grant all privileges on *.* to mysql@'%' identified by 'mysql';
      然后须要运行刷新权限的命令:
      flush privileges;
    这里如果只mysql@localhost,下一步用navicat连接虚拟机的mysql时会报错:
     

    七、window远程访问Linux虚拟机的mysql

    1、首先要关闭防火墙,这样window才能连接上

    输入命令:systemctl stop firewalld.service

    2、在windows中用navicat premium 客户端连接虚拟机中的mysql数据库

    八、设置开机自动启动mysql服务

    1、添加服务mysql

    输入命令:chkconfig --add mysql

    2、设置服务开机自启

    输入命令:chkconfig mysql on

    九、设置path环境变量

    输入命令:vi /etc/profile

    设置环境变量:export PATH=$JAVA_HOME/bin:/usr/local/mysql/bin:$PATH

    十、linux虚拟机重启后,mysql进程正常运行但查看服务状态报错,navicat客户端也连接不上

    service mysql status报错:
    或者navicat premium 客户端连接不上MySQL:
    1 切换到mysql用户下进行操作:su mysql
    2 注意检查防火墙是否关闭:systemctl stop firewalld.service

    参考帖子:

      洒水閃人-详细教程

      虚拟机重启后,mysql操作权限的问题

      MySQL免密登录ERROR 

      MySQL免密码登陆后,修改密码ERROR

      mysql中用户授权不正确,导致navicat客户端连接报错没有授权ERROR

  • 相关阅读:
    mongodb简介
    tomcat简介
    date的详细说明
    30岁前成功的12条黄金法则
    2012春晚经典语录
    统计文件中某个单词出现的次数
    nginx简介
    ATM取款机系统模拟仿真
    十三种时间管理方法
    笔试常见的智力题 附答案
  • 原文地址:https://www.cnblogs.com/abc8023/p/8440459.html
Copyright © 2011-2022 走看看