linux下安装mysql并设置远程连接

腾讯云环境为Centos7.4   mysql版本为5.6

本次安装使用yum安装

检查是否已有mysql:

  yum list installed | grep mysql

下载yum源文件:

  wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

解压: 

  sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm 

安装:

  yum install -y mysql mysql-server

 

这样就安装成功了,初始root的密码为空

{

  启动mysql: systemctl start mysqld

  停止mysql:systemctl stop mysqld

  重启mysql:systemctl restart mysqld

  查看mysql启动没: netstat -anp|grep mysqld

}

 

修改密码:

  命令:mysql -uroot -p    来登录mysql

  输入后系统会提示输入密码,因为初始密码为空,直接回车即可,

  初始安装后自带两个数据库,有一个叫做mysql,里边有个user表,存放用户名与密码

  命令:  use mysql   (进入到mysql中)

  命令:  UPDATE user set Password = PASSWORD('你的新密码')   WHERE  user = 'root' ;  (修改密码)

  命令:  flush privileges;  刷新一下

到这里 nidemysql就算是安装好了

(yum源安装mysql,配置文件一般在/etc/my.cnf 或者 /etc/mysql/my.cnf)

 

但故事还没有结束,一般来说,linux下的服务器都需要远程,所以还应该设置mysql可以远程才好。

设置远程:

  在my.cnf 中有bind-address = 127.0.0.1  这个参数,将127.0.0.1改为0.0.0.0  如果没这个参数,加上就好

  然后命令: mysql

    命令: use mysql

               命令:UPDATE user SET Host = '%' WHERE User = 'root' LIMIT 1; 

现在到这里,远程就可以使用root这个用户来远程连接了。

 

故事仍然没有结束,因为我用的是腾讯云,还是远程连接不上,这时要在腾讯云安全组上边吧3306这个端口打开,使tcp可以访问。

到这里就结束了?  NO

然后一切美好,远程可以链接了,但是,腾讯云本地使用root却连不上了,报错:

  ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

说是密码错了,扯淡,明明远程都连上了好吧,折腾了半天,原来是我前边在设置远程连接使搞出来了一个用户名为空的账户,mysql会先匹配它,

就会报密码错误的提示,这时正确的做法就是:登录你的navicat(因为可以远程连接上),在mysql这个库下的user表中将哪个用户名为空的用户干掉,就万事大吉了。

 

ps: 当你真的忘记了你的密码:

  1 在配置文件中加上它: skip-grant-tables (跳过密码验证)

  2 systemctl restart mysql 重启mysql

  3 直接输入mysql

  4 use mysql 进到mysql库

  5 UPDATE user set Password = PASSWORD('你的新密码')   WHERE  user = 'root' ;  修改密码

 

mysql下创建用户并授权:

  create user  'dog'@'%' identified by '123456';

  grant all on *.* to 'dog'@'%';

 

 

完结

 

posted @ 2018-10-11 18:03  宋讼颂  阅读(1879)  评论(0编辑  收藏  举报