MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 显示表列 显示服务器状态: 需要添加 –hex-blob 参数 应该总是定义主键 主键的最好习惯:安装
# 启动mysql
sudo systemctl start mysql
# 查看mysql 状态
sudo systemctl status mysql
# 查看mysql 配置
vim /etc/mysql/mariadb.conf.d/50-server.cnf
# 查看系统中的mysql进程
ps -aux | grep "mysql"
ps -ef | grep mysql
# 杀掉mysql进程 提示 bash: kill: (4385) - Operation not permitted, 因为没有权限,要使用sudo
sudo kill -15
安全管理
管理用户
USE mysql;
SELECT user FROM user;
CREATE USER spaceack IDENTIFIED BY 'password123';
grant all privileges on `数据库名`.* to '用户名'@'localhost';
flush privileges;
命令
# 连接数据库管理系统 mysql -u root -p -h localhost -P 3306
# 查看所有数据库 SHOW DATABASES;
# 使用数据库 USE mysql;
# 查看数据库中的所有表列表 SHOW TABLES;
SHOW COLUMNS FROM help_keyword;
+-----------------+------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+------------------+------+-----+---------+-------+
| help_keyword_id | int(10) unsigned | NO | PRI | NULL | |
| name | char(64) | NO | UNI | NULL | |
+-----------------+------------------+------+-----+---------+-------+
DESCRIBE help_keyword;
DESC help_keyword;
显示建库语句
SHOW CREATE DATABASE mysql;
显示建表语句
SHOW CREATE TABLE help_keyword;
显示用户安全权限
SHOW GRANTS
SHOW STATUS;
备份
Mysql备份类型
按照备份时对数据库的影响分为
按照备份后的文件内容分为
按照备份数据库的内容分为
工具:
可以使用MySQL的 BACKUP TABLE 或 SELECT INTO OUTFILE 转储所 有数据到某个外部文件。这两条语句都接受将要创建的系统文件 名,此系统文件必须不存在,否则会出错。数据可以用 RESTORE TABLE 来复原。实例
备份数据库:
/usr/bin/mysqldump --routines -h127.0.0.1 -uroot -ppassword --add-drop-table --disable-keys --extended-insert --single-transaction database_name > database_name_date.sql
恢复备份
mysql -uroot -ppassword -Ddatabase_name < database_name_date.sql
备份包含 blob 类型字段的表
mysqldump --no-defaults --hex-blob -h127.0.0.1 -R -uroot -p --databases test_db --table test_table > test_table_backup.sql
备份恢复
sudo mysql -u root -p --database=test_db < test_table_backup.sql
概念术语表
SQL (Structured Query Language) 结构化查询语言:
database 数据库
DBMS 数据库管理系统
table 表: 某种特定类型数据的结构化清单。
schema 模式: 关于数据库和表的布局及特性信息。
column 列:
datatype 数据类型:
row 行/record 记录:
primary key 主键:一列(或一组列),其值能够唯一区分表中每个行。
不更新主键列中的值;
不重用主键列的值;
不在主键列中使用可能会更改的值。
Stay Curious, Stay Naive.