
先看看我改成%,让所有的ip可以连接到,如图下:
/opt/lampp/bin/mysql -uroot -p 进入数据库 *** 作,这里是使用了root登录数据库,root没有密码可直接mysql可以进去
看到user表中host已经被修改成了,可以通过sql语句修改host的内容。这样就可以远程连接上了
UPDATE user SET host='%' WHERE user='root';首先让我们看一下远端MYSQL的用户表
mysql> select host,user
-> from user;
+---------------+------+
| host | user |
+---------------+------+
| localhost | root |
+---------------+------+
5 rows in set (000 sec)
由此我们可以看到root用户仅允许本地(localhost)登录,如果要远程登录该mysql服务器的话,就需要新建一个普通权限的用户,新建用户使用如下命令:
mysql> grant select,update,insert,delete on mas to duan@localhost identified by "123456";
这句命令的意思是:新建用户duan,并且只允许该用户在本地(localhost)登录,密码是123456,并且赋予它对mas库中所有表select,update,insert的权限。我们在这有一个mas库,所以用mas代表mas库下的所有表。如果要对所有的表,包括mysql库的表都有 *** 作权限则可以替换成“”
现在该duan用户,已经可以登录mysql了,但是也还是只能本地登录。若要duan用户可以远程登录mysql,则还需要如下命令:
mysql> update user set host = '%' where user = 'duan';首先要确保服务器上安装有MySQL,执行如下命令来检查是否安装了 MySQL(CentOS 7 上是 mariadb-server,CentOS 6 上是 mysql-server,这里以 CentOS 7 为例)
$ rpm -q mariadb-server
如果提示 package mariadb-server is not installed 则说明没有安装 MySQL,需要手动安装。如果出现 mariadb-server-xxxxxxxxel7x86_64 则说明已经安装。
安装 MySQL 的步骤为:
1安装 MySQL 和 MySQL 客户端
$ sudo yum -y install mariadb mariadb-server
2启动 MySQL
$ sudo systemctl start mariadb
3设置开机启动
$ sudo systemctl enable mariadb
4设置初始密码
$ sudo mysqladmin -u root password root
这时我们有两种方式来进行修改,这里只用了第一种,就直接将原来的 user='root' and host='localhost' 记录的host修改成%或指定的ip。
1将host设置为%表示任何ip都能连接mysql
update user set host='%' where user='root' and host='localhost';
2当然也可以将host指定为某个ip
update user set host='' where user='root' and host='localhost';
这里将 换你实际的地址。
3执行完以上语句,接着执行以下语句 ,刷新权限表,使配置生效
flush privileges;
1检查服务器防火墙3306端口开放了吗,没开放需要去开放
2检查一下云平台的安全组规则中是否开放了3306端口,如何配置阿里云,这里以阿里云为例( 阿里云添加安全组规则 )
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)