linux安装mysql心路踩坑历程

环境:

虚拟机的Ubuntu16.04
Windows系统下Navicat

本文主要介绍在Ubuntu16.04安装MySQL,并用Window的Navicat连接到Ubuntu的MySQL

Ubuntu16.04安装:

1.更新Ubuntu的apt

sudo apt update

2.安装mysql

sudo apt install mysql-server

嗯,安装过程中没有提示我设置root密码,第一个坑开始
解决步骤:
1)修改

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

2)在[mysqld]中加入skip-grant-tables,之后重启mysql。
3) mysql -uroot -p,如果提示输入密码直接回车即可。进入mysql后执行:

use mysql; update user set authentication_string=password("**你的密码**") where user="root"; flush privileges;

4)退出mysql,在/etc/mysql/mysql.conf.d/mysqld.cnf中删除skip-grant-tables,之后重启mysql即可进入。

5)若提示
在这里插入图片描述
再执行第一步,进入mysql,执行:

use mysql;
select user,plugin from user;

在这里插入图片描述
可以看到root 的plugin字段是auth_socket,这里更改为mysql_native_password就可以使用密码。
执行:

update user set authentication_string=password("djw1234"),plugin='mysql_native_password' where user='root';

然后查看:

在这里插入图片描述
最后再去除mysqld.cnf中的skip-grant-tables,保存后重启mysql就可使用密码登录。

4.安装完成后,MySQL服务讲自动被启动,可以用如下命令查查看mysql正在运行

sudo netstat -tap | grep mysql

此时第二个坑:
解决 command not found: netstat
问题描述: 执行netstat命令报错: command not found: netstat
解决方法: 执行sudo apt install net-tools即可

5.有类似如下输出为安装并启动成功
在这里插入图片描述
6.用navicat连接mysql:
在这里插入图片描述
输入 虚拟机IP 和 MySQL密码 ,点击左下角的 测试连接

在这里插入图片描述
连接测试后,会有如下报2003错误
在这里插入图片描述
接着第三个坑,解决报错

修改mysqld.cnf文件,注释掉bind-address = 127.0.0.1一行,注释方法:在行首添加 # 号

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

找到bind-address = 127.0.0.1一行,如下

在这里插入图片描述
添加 # 号注释后截图如下:
在这里插入图片描述
重启Ubuntu MySQL服务

点击 Navicat的连接测试,报错如下:

在这里插入图片描述
第四个坑来喽,解决过程如下:

进入mysql命令行

mysql -u root -p

输入MySQL密码,进入到mysql命令行,按如下步骤进行设置

mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
 
Database changed
mysql> select 'host' from user where user='root';
+------+
| host |
+------+
| host |
+------+
1 row in set (0.00 sec)
mysql> update user set host = '%' where user ='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> select 'host'   from user where user='root';
+------+
| host |
+------+
| host |
+------+
1 row in set (0.00 sec)
mysql>
mysql> quit;
Bye

再次点击Navicat的连接测试,提示连接成功

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值