时间:2021-07-01 10:21:17 帮助过:19人阅读
这只是一个简单Mysql设定。但很多图简单,却忽略了安全性。所以对设置中的细节和含义需要弄到清清楚楚才行。
下面是步骤:
1、登陆本地的mysql Server:
#mysql -uroot -p
输入密码后进入mysql。参数-u是输入用户名,这里是用root登陆,-p是要输入密码。
2、使用并查看mysql用户访问权限
>use mysql;>select host,user from user;
3、可以看到root用户自能在本地访问(使用mysql默认安装方式)。如果要运行远程访问,就要增加权限:
>GRANT ALL PRIVILEGES ON *.* TO ‘myuser’@'%’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;
这里要说明几点:ALL PRIVILEGES是指数据库所有操作;*.*是指在mysql数据库中的所有数据库与数据表;%是指运行外部所有IP来访问。而myuser与mypassword是你要授权用户的用户名与和密码。
这里给了该用户这个数据库的所有权限。但在实际应用中,这样就这管理员就不负责任啦。
>GRANT ALL PRIVILEGES ON *.* TO ‘root’@’192.168.1.3′ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;
下面是较好的做法:
>GRANT ALL PRIVILEGES ON *.* TO ‘root’@’192.168.1.2′ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;>GRANT ALL PRIVILEGES ON mydb.* TO ‘other’@’192.168.1.2′ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;
第一条提供了root能够从内网192.168.1.2的机器访问这个数据库
第二条提供了other能够从内网192.168.1.2的机器访问这个数据库中mydb数据的所有表
4、为了能够立刻是以上设置生效,执行:
>FLUSH PRIVILEGES;
这是让mysql Server从新加载授权表。