转载:https://blog.csdn.net/qq_42881421/article/details/91981918
环境:
虚拟机的Ubuntu16.04
Windows系统下Navicat
本文主要介绍在Ubuntu16.04安装MySQL,并用Window的Navicat连接到Ubuntu的MySQL
Ubuntu16.04安装:
更新Ubuntu的apt
$ sudo apt update
安装mysql
$ sudo apt install mysql-server
安装过程中会提示我们设置MySQL root用户的密码,输入密码后,按tab键选中OK,回车确认
确认密码,再输入与上一步相同的密码,按tab键选中OK,回车确认
安装完成后,MySQL服务讲自动被启动,可以用如下命令查查看mysql正在运行
$ sudo netstat -tap | grep mysql
有类似如下输出为安装并启动成功
如执行命令后无任何输出,请检查是否安装好、确认mysql是否启动(mysql的启动命令为 $ service mysql start)
用navicat连接mysql:
打开navicat(需先在Windows下安装好),点击连接
输入 虚拟机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服务
$ sudo service mysql restart
点击 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的连接测试,提示连接成功
参考链接:
解决2003错误参考:https://www.cnblogs.com/ruofengzhishang/p/5477502.html
解决1130错误参考:https://www.cnblogs.com/dulixiaoqiao/p/7040078.html
原本连接很快的mysql服务器,连接速度奇慢。以前几十毫秒的连接现在完成一次要近5秒钟,在排除了网络问题后,只有从mysql下手。原来每次访问db,mysql就会试图去解析来访问的机器的domain name,如果这时解析不料,等一段时间会失败,数据才能被取过来。解决方法如下:
修改 my.cnf
[mysqld]
skip-name-resolve #Don’t resolve hostnames
重启,问题解决。