Ubuntu简单安装mysql 并配置远程连接
2015-09-16 13:06
846 查看
本地经常做一些小试验,搭建一个简单环境的过程,纪录之
系统镜像: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, 这样才能是最新的。
netstat -tln
2、客户端连接
mysql -u root -p
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; //查看执行结果
mysql> grant all privileges on *.* to admin@"%" identified by "admin" with grant option;
一、环境
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;
相关文章推荐
- 使用MYSQLCPPCONN连接MYSQL数据库与读写BLOB字段
- 详解MySQL中EXPLAIN解释命令
- MySql 里的IFNULL、NULLIF和ISNULL用法
- 一条SQL查询MYSQL最大内存用量
- mysql查询按照in里面的数据排序
- 数据迁移至RDS-MySQL之利用RDS管理控制台
- jdbc操作mysql数据库实例
- mysql允许外部连接
- mysql 查看负载
- mybatis+MySQL数据库返回插入记录的关键字方法
- jdbc连接 mysql 数据库
- Mysql数据库int(1)和tinyint(1)的区别&&扩展阅读
- mysql1130远程连接没有权限解决方法
- mysql 函数笔记
- [原]不同场景下MySQL的迁移方案
- [Mysql] "Too many connections"
- load data infile上亿条的海量数据导入mysql的那些事
- Mysql 使用存储过程添加新字段
- MySQL 的主从 Replication同步
- 设置本地mysql数据库允许远程访问