一、 下载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

Linux虚拟机下mysql 5.7安装配置方法图文教程的更多相关文章

  1. mysql 5.5 安装配置方法图文教程(转发)

    MySQL下载地址:http://dev.mysql.com/downloads/installer/ 1.首先进入的是安装引导界面 2.然后进入的是类型选择界面,这里有3个类型:Typical(典型 ...

  2. windows Sever 2012下Oracle 12c安装配置方法图文教程

    windows Sever 2012下Oracle 12c安装配置方法图文教程 Oracle 12c安装配置方法图文教程,具体内容如下 1.我们开启虚拟机 2.Windows Sever 2012启动 ...

  3. mysql 5.7.12 winx64安装配置方法图文教程

    这篇文章主要为大家分享了mysql 5.7.12winx64安装配置方法图文教程,感兴趣的朋友可以参考一下   之前安装mysql时未做总结,换新电脑,补上安装记录,安装的时候,找了些网友的安装记录, ...

  4. mysql 5.7以上版本安装配置方法图文教程(mysql 5.7.12\mysql 5.7.13\mysql 5.7.14)(转)

    http://www.jb51.net/article/90302.htm ******************************* 这篇文章主要为大家分享了MySQL 5.7以上缩版本安装配置 ...

  5. mysql 5.7.15 安装配置方法图文教程(转)

    http://www.jb51.net/article/92521.htm ******************************* MySQL数据库作为关系型数据库中的佼佼者,因其体积小,速度 ...

  6. mysql 5.7.14 安装配置方法图文教程(转)

    http://www.jb51.net/article/90259.htm ******************************** 因笔者个人需要需要在本机安装Mysql,先将安装过程记录如 ...

  7. mysql 5.7.13 安装配置方法图文教程(win10) (转)

    http://www.jb51.net/article/87152.htm ***************************** MySQL是一款关系型数据库管理系统,是由Oracle旗下公司M ...

  8. CentOS7下MySQL5.7安装配置方法图文教程(YUM)

    安装环境:CentOS7 64位,MySQL5.7 1.配置YUM源 在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo/yum/ # ...

  9. mysql 5.7.13 安装配置方法图文教程(linux) (转)

    http://www.jb51.net/article/87160.htm ************************************************ linux环境Mysql ...

随机推荐

  1. Git 错误集锦

    执行git push提示Everything up-to-date 原因: ). 你想提交到分支, 却提交到主分支, 而主分支已经为最新, 查看当前分支是什么, git branch git push ...

  2. (笔记)Linux 如何查看线程数最佳解决方案

    背景:很多学linux的人都会使用ps查看进程状态,却一直不清楚如何查看线程的状态. 方法:可使用ps -a 或 ps -T命令查看 一.使用ps -a命令查看 比如拿我的测试进程./lc300-le ...

  3. e784. 监听对JList选择变动

    When the set of selected items is changed, either by the user or programmatically, a list selection ...

  4. C# HttpClient请求

    using Newtonsoft.Json; using System; using System.Collections.Generic; using System.IO; using System ...

  5. C# ToString()格式设置大全

    C 货币 2.5.ToString("C") ¥2.50 D 十进制数 25.ToString("D5") 00025 E 科学型 25000.ToString ...

  6. Java对象的序列化与反序列化-Json篇

    说到Java对象的序列化与反序列化,我们首先想到的应该是Java的Serializable接口,这玩意在两个系统之间的DTO对象里面可能会用到,用于系统之间的数据传输.或者在RPC(远程方法调用)时可 ...

  7. Mongodb学习笔记(1)--入门

    文档 多个键及关联的值有序的放置在一起就是文档,如"greeting":"Hello World!" 特点 文档中键值对是有序的 除了字符串还可以是其他类型:& ...

  8. How to use base class's assignment operator in C++

    看了android下的代码,好长时间没看了,有个关于C++的知识点不是很清楚,查了下: 如何使用基类中的赋值运算符? 引述自http://stackoverflow.com/questions/122 ...

  9. level 1 -- unit 4 -- where 引导的疑问句

    where be sb/sth 询问地点,用where where is the restaurant? where are my socks ? where was tome just now? w ...

  10. spring测试junit事务管理及spring面向接口注入和实现类单独注入(无实现接口),实现类实现接口而实现类单独注入否则会报错。

    1.根据日志分析,spring junit默认是自动回滚,不对数据库做任何的操作. 18:16:57.648 [main] DEBUG o.s.j.d.DataSourceTransactionMan ...