前段时间在自己电脑上装了个虚拟机,昨天尝试了装了个mysql玩玩,就在网上找了找教程,安装过程很顺利,就是最后用Navicat连接的时候一直连接不上,后来在网上找到发现是用户的问题。
进入正题 1、下载安装包
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm (直接复制到Xshell中按回车就行了,然后就是继续等待)
2、OK,坐等下好,然后就是安装了
sudo rpm -ivh mysql57-community-release-el7-8.noarch.rpm
sudo yum install mysql-server
(同上复制粘贴回车,然后就是静静的等待,我当时是等了蛮久)
OK,现在安装完成了。
3、设置密码
我们第一次启动MySql服务器时,会自动为MySql的root用户生成一个临时密码,现在我们需要的就是获取到这个密码,然后修改成我们想要的密码,毕竟用临时密码的话还是很不方便进行记忆。
sudo grep 'temporary password' /var/log/mysqld.log (复制粘贴)
![7cb0ec39210ced49a46b4145e5cfea1c.png](https://img-blog.csdnimg.cn/img_convert/7cb0ec39210ced49a46b4145e5cfea1c.png)
临时密码
拿到这个密码,之后我们再去配置Mysql的安装项:
sudo mysql_secure_installation (回车以后会让我们输入密码,把上面拿到的临时密码输入进去就OK)
接下来会提示我们输入一个新的密码,这个密码就是我们以后要用到的密码了,这个密码有个要求,当时我自己也是试了蛮久(密码必须至少包含8个字符并且至少包含一个大写字母,一个小写字母,一个数字和一个特殊字符)
之后还会让我们配置一些信息,配置完以后看到出现 All done! 了,表示我们Mysql安装完成了,也配置好了。
![f3392370ab737a33abbda9bb255ad55f.png](https://img-blog.csdnimg.cn/img_convert/f3392370ab737a33abbda9bb255ad55f.png)
我们尝试远程访问一下。
![bc8f615eb7a8935b63b189bbf9d4a979.png](https://img-blog.csdnimg.cn/img_convert/bc8f615eb7a8935b63b189bbf9d4a979.png)
报错信息
连接的时候发现报了一个错,不允许远程连接到Mysql服务器:
解决办法
1、检查服务是否启动: systemctl status mysqld.service
![1a3d03d048e2cc5be6ce335b30ee20f8.png](https://img-blog.csdnimg.cn/img_convert/1a3d03d048e2cc5be6ce335b30ee20f8.png)
启动成功
如果服务没有启动 输入命令 systemctl start mysqld.service 启动服务。
之后输入命令 mysql -u root -p
再输入 use mysql 切换到mysql数据库了
![a4cfea60e754fa3930ad37b8f4bed2c3.png](https://img-blog.csdnimg.cn/img_convert/a4cfea60e754fa3930ad37b8f4bed2c3.png)
切换成功,查询用户信息用户账户与主机的对应关系,输入命令 select Host,User from user
当前的 root 对应的主机为 localhost
![02d6351200352fa3240c73c2af813a5c.png](https://img-blog.csdnimg.cn/img_convert/02d6351200352fa3240c73c2af813a5c.png)
我们将 root 对应的主机修改为 % (表示匹配任意字符,不只是局限于本地主机)
update user set Host='%' where User ='root' limit 3;
![e04febf8da76d2395dbef4d6a6722a03.png](https://img-blog.csdnimg.cn/img_convert/e04febf8da76d2395dbef4d6a6722a03.png)
修改成功后还需要强制刷新
flush privileges
刷新完之后退出,再远程连接一下就OK了
quit 退出
这个方法只针对于在本地虚拟机中的Linux,如果是远程的阿里云还需要配置防火墙。