基于ubuntu/debian系统使用apt可以很轻易地安装mysql。
安装
通过apt安装mysql,就一条命令:
apt-get install mysql-server
如果安装不成功的话,根据提示尝试:
- 系统有安装了mysql-client什么的服务,先通过apt-get remove命令卸载掉;
- 可能apt比较旧,apt-get update 更新一下source list
安装mysql的过程中,会提示输入root权限用户的密码。请牢记。
安装完毕mysql后,默认使用3306端口。通过netstat命令就可以查看到系统是否启动了。
配置
通过apt安装mysql,默认只能在服务器上本机使用。需要修改一些配置。
放开ip监听
通过netstat 3306端口,可以看得到:
说明,只能在本机访问。如果在内网别的机器,甚至想要外网访问, 都是不行的。这时候要修改bind-address参数了。在/etc/mysql/my.cnf文件中,找到关键字bind-address:
注释掉这一行,然后重启mysql。
这样就放开了IP限制了。
权限修改
修改了bind-address后,默认的root权限还是不能再外网访问的。因为权限问题。执行命令:
--查看当前权限: show grants;
root用户只能在localhost中访问mysql了。或者我们查看mysql.user表:
-- 查询用户 SELECT host, user, Password from mysql.user;
这样可以更清晰地看到用户权限。
让root用户有权限在非localhost可以访问的sql是:
--root 用户 所有权限,在哪个数据库,在哪个域名都可以访问 grant all privileges on *.* to 'root'@'%' with grant option;
这条语句的意思是这样的:grant 权限 on 数据库.表 to '用户名'@'登录主机';
权限有这一些:
select ,update,delete,insert(表数据) create,alert,drop(表结构) references(外键) create temporary tables(创建临时表) index(操作索引) create view,show view(视图) create routine,alert routine,execute(存储过程) all,all privileges(所有权限)
管理用户
管理用户可以参考下面这些sql:
-- 查询用户 SELECT host, user, Password from mysql.user; -- 增加用户,这个用户可以在所有域下访问 insert into mysql.user (host,user,password) values('%','aaa',PASSWORD('bbb@2012')); insert into mysql.user (host,user,password) values('localhost','aaa',PASSWORD('bbb@2012')); -- 删除 delete from mysql.user where user='aaa' and host='%'; -- 更新密码 update mysql.user set password=PASSWORD('111111') where user='aaa';