MySQL的安装及备份恢复及常用操作

317 阅读2分钟

以下编写环境是在Ubuntu上操作,安装命令是基于Ubuntu18.4系统

安装

sudo apt-get install mysql-server mysql-client

管理服务

启动

service mysql start

停止

service mysql stop

重启

service mysql restart

允许远程连接

找到MySQL配置文件并修改

sudo vi /etc/mysql/mysql.conf.d/mysql.conf
将bind-address=127.0.0.1注释

登录MySQL,运行修改密码命令

grant all privileges on *.* to 'root'@'%' identified by 'mysql' with grant option;
flush privileges;

重启MySQL即可。

使用命令连接

myslq -uroot -p
回车后输入密码,当前设置的密码为mysql

登录成功后,输入如下命令查看效果

查看版本:select version();
显示当前时间:select now();

远程连接

mysql -h ip地址 -uroot -p
.-h后面写要连接的主机ip地址
。-u后面写连接的用户名
.-p回车后写密码

数据库操作

创建数据库

create database 数据库名 charset=utf8;

删除数据库

drop database 数据库名;

切换数据库

use 数据库名;

查看当前选择的数据库

select database();

表操作

查看当前数据库中所有表

show tables;

创建表

.auto_increment表示自动增长

create table 表名(列及类型):
如:
create table students(
id int auto_increment primary key,
name varchar(10) nor null
);

修改表

alter table 表名 add|change|drop 列名 类型;
如:
alter table students add birthday datetime;

删除表

drop table 表名;

查看表结构

desc 表名;

更改表名称

rename table 原表名 to 新表名;

查看表的创建语句

show create table '表名';

表操作

查询

select * from 表名

增加

全列插入:insert into 表名 values(...);
缺省插入:insert into 表名(列1..) values(值1..);
同时插入多条数据:insert into 表名 values(..),(..);
或insert into 表名(列1..) values(值1.。),(值1..);

主键列是自动增长,但是在全列插入时需要占位,通常使用0,插入成功后是以实际数据为准

修改

update 表名 set 列1=值1,.. where 条件

删除

delete from 表名 where 条件

逻辑删除

本质上就是增加一个isdelete的列,当需要删除某些数据的时候就修改此列。显示的时候还是不显示这个数据即可。

alter table students(表名) add isdelete bit default 0;
如果需要删除则:
update students isdelete=1 where ..;

备份与恢复

备份

.进入超级管理员
sudo -s 
.进入mysql库目录
cd /var/lib/mysql
.运行mysqldump命令
mysqldump -uroot -p 数据库名 > /root/bak.sql
按提示输入mysql的密码

数据恢复

连接mysql,创建一个新的数据库 退出连接,执行如下命令

mysql -uroot -p 新的数据库名 < /root/bak.sql
根据提示输入mysql密码