红联Linux门户
Linux帮助

Ubuntu下MySQL初始化的正确姿势

发布时间:2016-12-08 09:59:34来源:linux网站作者:beynol
1.背景
Ubuntu下的mysql安装教程很多,但是有不少讲得过于简单,没有考虑到安全问题。比如说,一些教程里,只设置一个root用户,并且对外网公开,一来容易被破解密码(用户名固定,破解难度自然降了一大截,而且总有很多用户设置的密码不算复杂),二来,一旦密码被破解,后果很严重。
既安全又容易的做法是,安装完mysql之后,立马创建小号,给小号只分配特定db上的权限。以后,网站连接、自己远程都通过小号进行。
 
2.实战
2.1.安装mysql,一条语句就够了,在伪GUI里按照提示设置root密码。
sudo apt-get install mysql-server
 
2.2.修改mysql配置文件,使得Mysql监听来自外网的请求。注,只是监听请求,不代表现在任何账号都可以从外网登录,因为不是所有账号都有从外网访问的权限的。
sudo vim /etc/mysql/my.cnf
# 注释掉这行:bind-address = 127.0.0.1
 
2.3.用root账号登录mysql。输入密码,登录成功后,进入mysql控制台,在mysql控制台下,命令都以“mysql>”开头,接下来的步骤都是在mysql控制台中进行的。
mysql -u root -p
 
2.3.创建小号。例子里,用户名user1,密码user1pwd。注意,['user1'@'%']里的%表示,任意ip地址的客户端都可以使用user1登录。
mysql> create user 'user1'@'%' identified by 'user1pwd'
mysql> flush privileges;  # 使操作立即生效
 
2.4.给小号分配权限。注意,[web1_db.*] 表示小号拥有web1_db数据库的全部权限。
mysql> grant all privileges on web1_db.* to 'user1'@'%' identified by 'user1pwd';
mysql> flush privileges;  # 使操作立即生效
 
2.5.最后,重启mysql,尝试一下用小号远程登录吧。
sduo service mysql restart
 
本文永久更新地址:http://www.linuxdiyf.com/linux/26699.html