1、以管理员身份登录mysql
mysql -u root -p
2、选择mysql数据库
use mysql
3、创建用户并设定密码
create user 'test'@'localhost' identified by '123456'
4、使操作生效
flush privileges
5、使操作生效
flush privileges
6、用新用户登录
mysql -u test -p
允许用户从远程访问数据库的方法
解决方法(建议使用第二种方法进行解决):
1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql -u root -p
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; (只允许固定ip登录)
ps:之后你就可以 使用 新建的账户远程链接 mysql 了,有一部分小伙伴可能在这里还会报个 2003 的错,乖乖 快看看 你的 服务器 是不是防火墙没关 ,没关的话赶快gay掉他
╭~~~╮
(o~.~o)
.
.
.
.
嘿嘿 关掉防火墙还是不管用 好 接下来就是终极大招了
修改默认配置文件 my.cnf 中的 bind-address , 一般在 /etc 目录下 ,把这句话前面加个 # 禁掉就可以
╭~~~╮
(o~.~o)
.
.
.
.
什么 , 还不行 (┬_┬)
快看看是不是服务器提供商的安全组规则拦截,这里以阿里云为例 默认的安全组只开通了几个端口 ,我这只是个小的测试服务器,没有重要的东西 ,也懒得调了,附上我的安全组规则,这样子是默认开放了所有的安全组规则的
OK 完美解决
转载自 http://blog.csdn.net/chr23899/article/details/40401089