一、安装
Ubuntu安装
安装命令
sudo apt-get install mysql-server
apt-get isntall mysql-client
sudo apt-get install libmysqlclient-dev
安装过程中会提示设置密码,注意设置了不要忘了,安装完成之后可以使用如下命令来检查是否安装成功:
sudo netstat -tap | grep mysql
通过上述命令检查之后,如果看到有mysql 的socket处于 listen 状态则表示安装成功。
登陆mysql数据库可以通过如下命令:
mysql -u root -p
-u 表示选择登陆的用户名, -p 表示登陆的用户密码,上面命令输入之后会提示输入密码,此时输入密码就可以登录到mysq。注意:我的用户名为root。
现在设置mysql允许远程访问,首先编辑文件/etc/mysql/mysql.conf.d/mysqld.cnf:
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
注释掉bind-address = 127.0.0.1:
保存退出,然后输入登陆mysql数据库命令mysql -u root -p
进入mysql服务,执行授权命令:注意:带上分号。
grant all on . to root@’%’ identified by ‘你的密码’ with grant option;
flush privileges;
然后执行quit命令退出mysql服务
执行如下命令重启mysql:
service mysql restart
测试MySQL是否自动运行
systemctl status mysql.service
您将看到类似于以下内容的输出便是启动了
查看mysql版本:在終端输入指令
mysql --version
Windows安装
主要看参考文献6《mysql-5.7.21-winx64.zip安装教程》mysql-5.7.22-winx64.zip的安装包百度云地址,注意my.ini文件直接创建在mysql-5.7.22-winx64目录下。
二、使用图形窗口操作
使用图形窗口连接
现在在Windows下可以使用navicat远程连接Ubuntu下的MySQL服务:
连接成功后,会在连接名称下面显示出当前的数据库,双击选中数据库,就可以编辑此数据库,下次再进入此软件时,通过双击完成连接、编辑操作。
数据库操作
在连接的名称上右击,选择“新建数据库”,弹出窗口,并按提示填写
在数据库上右击,选择“删除数据库”可以完成删除操作
表操作
- 当数据库显示为高亮时,表示当前操作此数据库,可以在数据中创建表
- 一个实体对应一张表,用于存储特定结构的数据
- 点击“新建表”,弹出窗口,按提示填写信息
- 主键的名称一般为id,设置为int型,无符号数,自动增长,非空
- 自动增长表示由mysql系统负责维护这个字段的值,不需要手动维护,所以不用关心这个字段的具体值
- 字符串varchar类型需要设置长度,即最多包含多少个字符
- 点击“添加栏位”,可以添加一个新的字段
- 点击“保存”,为表定义名称
数据操作
表创建成功后,可以在右侧看到,双击表打开新窗口,如下图,在此窗口中可以增加、修改、删除数据
逻辑删除
- 对于重要数据,并不希望物理删除,一旦删除,数据无法找回
- 一般对于重要数据,会设置一个isDelete的列,类型为bit,表示逻辑删除
- 大于大量增长的非重要数据,可以进行物理删除
- 数据的重要性,要根据实际开发决定
三、使用命令行操作
使用命令连接
- 打开终端,运行命令
mysql -u root -p
回车后输入密码,密码为数据库用户root设置的密码
连接成功后如下图
- 退出登录注意:在语句结尾要使用分号
quit;或exit;
- 退出成功后如下图
远程连接
- 一般在公司开发中,可能会将数据库统一搭建在一台服务器上,所有开发人员共用一个数据库,而不是在自己的电脑中配置一个数据库
- 运行命令
mysql -hip地址 -u root -p
- -h后面写要连接的主机ip地址
- -u后面写连接的用户名
- -p回车后写密码
数据库操作
- 创建数据库
mysql> create database 数据库名 charset=utf8;
- 删除数据库
mysql> drop database 数据库名;
- 切换数据库
mysql> use 数据库名;
- 查看当前选择的数据库
mysql> select database();
- 显示所有的数据库
mysql> show databases;
表操作
- 创建表
- auto_increment表示自动增长
create table 表名(列及类型);
如:
mysql> create table students(
id int auto_increment primary key not null,
name varchar(10) not null,
gender bit default 1,
);
- 修改表
alter table 表名 add|change|drop 列名 类型;
如:
mysql> alter table students add birthday datetime;
- 删除表
drop table 表名;
- 查看表结构
desc 表名;
- 更改表名称
rename table 原表名 to 新表名;
- 查看表的创建语句
show create table '表名';
数据操作
- 查询
select * from 表名
- 增加
全列插入:insert into 表名 values(...)
如:mysql> insert into students values(0,'郭靖',1,'1991-01-01')
缺省插入:insert into 表名(列1,...) values(值1,...)
如:mysql> insert into students(name) values('黃蓉');
如:mysql> insert into students(gender,name) values(0,'小龍女');
同时插入多条数据:insert into 表名 values(...),(...)...;
或insert into 表名(列1,...) values(值1,...),(值1,...)...;
如:mysql> insert into students(name) values('杨过'),('雕'),('郭襄');
主键列是自动增长,但是在全列插入时需要占位,通常使用0,插入成功后以实际数据为准
修改
update 表名 set 列1=值1,... where 条件
如:mysql> update students set birthday='2010-10-10' where name='杨过';
- 删除
delete from 表名 where 条件
- 逻辑删除,本质就是修改操作update
alter table students add isdelete bit default 0;
如果需要删除则
update students isdelete=1 where ...;
如:
mysql> alter table students add isDelete bit default 0;
mysql> update students set isDelete=1 where name='雕';
备份与恢复
数据备份
- 进入超级管理员
sudo -s
- 进入mysql库目录
cd /var/lib/mysql
- 运行mysqldump命令
mysqldump –uroot –p 数据库名 > ~/Desktop/备份文件.sql;
按提示输入mysql的密码
如:root@yeqiang-virtual-machine:/var/lib/mysql# mysqldump -uroot -p python > ~/Desktop/backup.sql
- 备份好了后退出超级管理员
exit
数据恢复
- 连接mysqk,创建数据库
- 退出连接,执行如下命令
mysql -uroot –p 数据库名 < ~/Desktop/备份文件.sql
根据提示输入mysql密码
如:
yeqiang@yeqiang-virtual-machine:~$ cd Desktop
yeqiang@yeqiang-virtual-machine:~$ mysql -uroot -p 进入数据库
mysql> create database py3 charset=utf8;
mysql> exit
yeqiang@yeqiang-virtual-machine:~$ mysql -uroot -p py3 < ~/Desktop/backup.sql
yeqiang@yeqiang-virtual-machine:~$ mysql -uroot -p 进入数据库
mysql> use py3;
mysql> show tables;
mysql> desc students;
参考文献:
1. Ubuntu 16.04下安装MySQL:主要
2. Ubuntu上安装Mysql步骤和使用步骤:主要
3. Ubuntu 16.04 上安装 MySQL 5.7 教程:测试mysql是否启动
4. 使用Navicat for Mysql连接装在虚拟机Ubuntu16.04上的mysql服务器
5. 百度搜索ubuntu安装MySQL和Windows下可以使用navicat远程连接Ubuntu下的MySQL服务和Windows安装MySQL
6. mysql-5.7.21-winx64.zip安装教程:主要
7. windows安装mysql-5.7压缩版详细教程:次要
8. Python就业班-课件和资料-数据库:Mysql的基本操作