搭建好lnmp环境后,我们经常会远程连接mysql,使用root用户进行远程连接很明显不是明智之选,此时我们就需要创建新的mysql用户并授权,具体的才做步骤
首先进入linux的命令行管理终端,然后
1. 进入mysql数据库,命令如下
mysql -u root -p 回车后输入密码
2. grant all privileges on *.* to 'yourname'@'%' identified by '123456' WITH GRANT OPTION;
flush privileges;
讲解:*.* 表示数据库中的所有数据表;'yourname'@'%'表示你要新建的用户名,%表示允许所有ip远程连接
3. 新建完后
查看用户权限
show grants for yourname@'%';
查看用户
select user,host from mysql.user
4. 最后将修改密码更安全一些
update mysql.user set password=password('De6f8u9UF32DeS') where User='yourname' and Host='%';
操作中可能遇到的问题
1. 成功创建用户后,登录时提示“ERROR 1045 (28000): Access denied for user 'xxx'@'localhost' (using password: YES)”
导致这种问题的原因,可能是:https://www.cnblogs.com/uedhome/p/9495212.html
解决方法:
执行下面的sql语句,看看是否存在用户名为空的情况
select user,host from mysql.user where user=''
如果存在, 删除,执行下面的sql语句
delete from mysql.user where user=''
2. 如果还不能远程连接,重启mysql数据库;
3. 重启之后还不能远程连接,可能是因为防火墙的问题。如果是阿里云的ecs有安全组就可以将防火墙关闭
停止防火墙
systemctl stop firewalld
禁止开机启动
systemctl disable firewalld
初次购买阿里云ecs linux配置方法及安装宝塔控制面板步骤,有兴趣的可以了解一下