腾讯云环境为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'@'%';
完结