1:设置mysql的配置文件
/etc/mysql/my.cnf
找到 bind-address =127.0.0.1 将其注释掉;//作用是使得不再只允许本地访问;
重启mysql:/etc/init.d/mysql restart
2:登录mysql数据库:mysql -u root -p
mysql>use mysql
查询host值:
mysql>select user,host from user
如果没有"%"这个host值,就执行下面这两句:
mysql>update user set host='%' where user='root'
mysql>flush privileges
或者也可以执行:
mysql>grand all privileges on *.* to root@'%' identifies by ' xxxx'
其中 第一个*表示数据库名;第二个*表示该数据库的表名;如果像上面那样 *.*的话表示所有到数据库下到所有表都允许访问;
‘%':表示允许访问到mysql的ip地址;当然你也可以配置为具体到ip名称;%表示所有ip均可以访问;
后面到‘xxxx'为root 用户的password;
举例:
任意主机以用户root和密码mypwd连接到mysql服务器
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypwd' WITH GRANT OPTION
mysql>flush privileges
IP为192.168.1.102的主机以用户myuser和密码mypwd连接到mysql服务器
mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.102' IDENTIFIED BY 'mypwd' WITH GRANT OPTION
mysql>flush privileges
一台电脑上安装了Workbench,现需要访问另一台ubuntu服务器上的MySQL数据库,但mysql默认是不允许访问的,考虑到安全性问题,也不适合使用root用户来访问mysql。这时我们就需要开放mysql服务器并创建新的用户来访问mysql。
1,开放mysql
mysql的配置文件在/etc/mysql/my.cnf文件内,里面有一行bind-address = 127.0.0.1表示只允许本地访问,将这行注释即可
2,创建新的mysql用户
(1)首先在本地进入mysql数据库的mysql库内
(2)创建用户:GRANT ALL ON *.* to user@'IP' IDENTIFIED BY 'password'其中user表示需要创建用户的名字;IP表示哪台客户端想要访问mysql数据库;password表示密码;并赋予所有的权限。
(3)FLUSH PRIVILEGES 刷新mysql的系统权限相关表,否则会出现拒绝访问。重启数据库也能达到这样的效果
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)