Linux虚拟机下mysql 5.7安装配置方法图文教程

1、 下载mysql5.7

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

Linux下载:mysql

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

2、创建用户,以及mysql的目录

一、创建一个mysql的组sql

输入命令: groupadd mysqlshell

二、创建mysql用户,并放到mysql组数据库

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

三、给mysql用户设置密码bash

输入命令:passwd mysqlide

3、解压mysql

一、把下载的mysql的包移动到Linux虚拟机下加密

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

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

三、解压

输入命令:cd /usr/local

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

四、把解压出来的文件改下名字,改成mysql

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

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

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

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

二、解决乱码问题

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

更改:

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

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

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

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

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

更改:basedir=/usr/local/mysql

   datadir=/usr/local/mysql/data

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

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

5、初始化mysql的数据库

一、初始化数据库

首先要去到mysql/bin目录下

老版本的命令:mysql_install_db

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

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

二、给数据库加密

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

三、启动mysql

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

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

6、 进入客户端

一、 登陆

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

而后输入你的临时密码

二、此时root用户不输密码登录报错。须要更改/etc/my.cnf配置文件,而后重启mysql

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

添加

  [mysqld]

  skip-grant-tables

输入命令:service mysql restart

 

三、 修改密码(切记:修改完密码后,须要执行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时会报错:
 

 

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

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

输入命令:systemctl stop firewalld.service

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

 

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

一、添加服务mysql

输入命令:chkconfig --add mysql

二、设置服务开机自启

输入命令:chkconfig mysql on

9、设置path环境变量

输入命令:vi /etc/profile

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

10、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

相关文章
相关标签/搜索