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

一、 下载mysql5.7

be61a5ecd724e21491294d1b04eb7a2e.png

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

e2c672098359829a04991f676d8203a9.png

三、解压mysql

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

3a127958c4bc3b9669f87cedeb557537.png

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

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

bd7f85face05b469b62f8416a98948f2.png

3、解压

输入命令:cd /usr/local

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

071217728f10a344cf0efe5f4854e523.png

edf90a1df67886cbf3bcac6f5b1cf520.png

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

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

e57f32727d4edd3741f64c8aab446b0b.png

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

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

886b056bdb73ecce2567caf28eb575f1.png

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

23a35ecaebda095963c77ed678f9017d.png

1fe293d099f8bc1c8b20bd6bdbd5afab.png

2、解决乱码问题

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

更改:

202779a7a3bdd538418cc35b6902278e.png

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

e0c60a145d6eb1c22e084ef84daad26d.png

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

f073159a9c2d6a114c3fc7c07072b06f.png

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

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

更改:basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

7da337298ec8b0383467a526e2bb9068.png

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

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

bc538c0eda5fe374edff1b3e017f3330.png

五、初始化mysql的数据库

1、初始化数据库

首先要去到mysql/bin目录下

老版本的命令:mysql_install_db

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

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

2fa88bb720c240ccda34af90ab966c42.png

fccc9f55fbff98819d4d626e8bec09ae.png

2、给数据库加密

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

d00e5f1c6382f12c6138ac9e137e399d.png

3、启动mysql

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

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

c5ac627950ee80d6cd5578f8ad0ce1cf.png

六、 进入客户端

1、 登录

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

然后输入你的临时密码

f4e93d200ffa514f1555563fd2f38093.png

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

660c799093d082fe846522e4757eb992.png

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

添加

[mysqld]

skip-grant-tables

输入命令:service mysql restart

fd4a582db8b9acb9c494f63347817b76.png

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

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

9aa96efc1a31aa4e4eea968541d8ce0e.png

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

5167bf1a2095f1948ed49bdb6d99cbdd.png

报错: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时会报错:

f74247a48cfbbe08ccb0575a18764936.png

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

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

输入命令:systemctl stop firewalld.service

7d5138cb5ca96ff64a4c3eecfbc3d83e.png

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

246e7435b73ed149b161137a23ccaa07.png

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

1、添加服务mysql

输入命令:chkconfig --add mysql

1be7f796b36bffc6dd405d6cbf9219d2.png

2、设置服务开机自启

输入命令:chkconfig mysql on

6091dd9de8cd260aef64e22e225d244a.png

九、设置path环境变量

输入命令:vi /etc/profile

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

4b79b06d5ecce6bb047f6ac107d9bd02.png

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

service mysql status报错:

092f75749b3c3b481d8a05e89164be99.png

或者navicat premium 客户端连接不上MySQL:

1 切换到mysql用户下进行操作:su mysql

2 注意检查防火墙是否关闭:systemctl stop firewalld.service

参考帖子:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值