本地经常做一些小试验,搭建一个简单环境的过程,纪录之
一、环境
vmware11虚拟机
系统镜像:ubuntu-14.10-server-amd64.iso
1. sudo apt-get install mysql-server //mysql核心程序,生成管理数据库实例,数据库实例任务调度线程之类,并提供相关接口供不同客户端调用
2. sudo apt-get install mysql-client //操作数据库实例的工具。操作mysql实例的客户端有很多,mysql-client只是其中一种,包括mysql,mysqldump,mysqlslap,这些访问,备份,压力测试的工具
3. sudo apt-get install libmysqlclient-dev //mysql 依赖库
遇到问题:
安装的时候apt-get 如果提示E: Invalid operation install 之类的错误
执行apt-get update //update 是同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包。
执行apt-get upgrade //upgrade 是升级已安装的所有软件包,升级之后的版本就是本地索引里的,因此,在执行 upgrade 之前一定要执行 update, 这样才能是最新的。
二、确定安装成功:
1、监听端口(我使用默认3306)
netstat -tln
2、客户端连接
mysql -u root -p
三、开启远程连接
mysql 3306端口默认是绑定本机127.0.0.1的,需要修改配置文件
vim /etc/mysql/my.cnf
1、注释掉bind-address = 127.0.0.1 或者改为
bind-address = 0.0.0.0
2、重启sudo /etc/init.d/mysql restart
3、授权用户访问(以root用户为例)授权法改表法任选其一:
3-1、 授权法
授权格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码";
grant all privileges on *.* to root@"%" identified by "password" with grant option;
刷新权限,马上生效
flush privileges;
3-2、改表法:
mysql -u root -p123
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
注:执行update时候会遇到duplicate错误,是因为一个root用户有好几个Host,这句update语句根据具体情况修改如 where Host='127.0.0.1'等等
mysql>select host, user from user; //查看执行结果
四、远程连接
如果防火墙开启,是访问不了的,我没有配置防火墙,直接简单粗暴的
ufw disable
简单的ufw命令:
1 启用
sudo ufw enable
sudo ufw default deny
作用:开启了防火墙并随系统启动同时关闭所有外部对本机的访问(本机访问外部正常)。
2 关闭
sudo ufw disable
3 查看防火墙状态
sudo ufw status
|
五、新增用户admin并授所有权限
mysql> insert into mysql.user(Host,User,Password) values("%","admin",password("admin"));
mysql> grant all privileges on *.* to admin@"%" identified by "admin" with grant option;