目录
- MySQL的每个数据表都可以指定存储引擎;
- MySQL 可以运行在 FreeBSD、Linux或Windows系统。MySQL 可以运行在 FreeBSD、Linux或Windows系统。
- MySQL 允许为不同用户指定不同的资源组;
- MySQL 可以设置监听端口、地址和最大连接数;
- MySQL 的超级用户默认为 root;
- Python DBAPI 实现 MySQLdb;
- GUI 工具 phpMyAdmin;
- Go 语言驱动库 github.com/go-sql-driver/mysql;
- JDBC 库 mysql:mysql-connector-java;
- SQL Server;
- H2;
- PostgreSQL;
- Oracle;
- MySQL;
非关系型数据库:redis;
在 FreeBSD 上,可以用 ports 安装。
在 Mac 上可以用 Homebrew 安装。
在 windows 上,可以下载安装包进行安装。
Debian 或 ubuntu 环境可以通过apt install mariadb-server安装。
在 CentOS 上可以通过yum install mariadb-server安装。
1)初始化账户
以 root 登录到本机的 mysql 库
shell
sudo su
mysql mysql
创建数据库用户 joe 并授权:
```sql
create user
'joe'@'localhost'
identified by 'joe';
grant all privileges
on . to joe@localhost;
flush privileges ;
```
2)使用 上文申请的joe 账户登录本机mysql数据库
- Joe 可以为自己的账户设定口令的有效期。
- Joe 可以为 joe 账户从其它网络地址登录的会话设置不同的口令和权限。
- 如果 Joe 的开发机上已经部署了ssh服务,那么他可以在局域网内的其它计算机ssh 到自己的开发机,然后使用以下命令登录:mysql -ujoe -p -h localhost mysql;
- Joe 可以在自己的开发机上使用以下命令登录:mysql -ujoe -p -h localhost mysql
3)登录远程服务器
背景:Joe 需要登录团队的开发服务器上的goods数据库,这台服务器地址是 10.123.45.17 ,MySQL 端口是 3306 。用户名是 joe,口令是 ixhewui 。
答案:在终端输入mysql -h 10.123.45.17 -p -ujoe goods出现口令输入提示时输入口令。
- create database goods;
- drop database goods;
1)创建表
- CREATE TABLE goods_category
- (
- id INT PRIMARY KEY ,
- category VARCHAR(30),
- remark VARCHAR(100)
- );
2)自增字段
- CREATE TABLE goods_category
- (
- id INT PRIMARY KEY AUTO_INCREMENT,
- category VARCHAR(30),
- remark VARCHAR(100)
- ) ENGINE INNODB;
3)删除表
drop table goods_category;
确定修改原来为 latin1 编码的 goods 数据库的编码为 ut8
- 执行
SHOW CREATE DATABASE goods;查看 goods 的编码;- 执行
ALTER DATABASE goods CHARACTER SET utf8;设定编码;- 再次执行
SHOW CREATE DATABASE goods;查看 goods 的编码;
- InnoDB 支持事务,有更好的并发能力。
- MyISAM 不支持事务和外键,结构简单,可以压缩为只读状态。
- Memory 引擎将数据保存在内存中,重启会丢失数据,读速度快很快,适合作为会话表和缓存表。
- 临时表默认不是使用 Memory 引擎。
确保 goods_category 表的存储引擎为 innodb ,那么建表语句应该是:
CREATE TABLE goods_category ( id INT, category VARCHAR(30), remark VARCHAR(100) ) ENGINE=INNODB;