MYSQL 数据库教程

主要介绍MYSQL数据库的基本知识和库函数指令。

基本知识介绍

搭建MYSQL数据库

安装MYSQL数据库

在ubuntu安装mysql十分简单,只要执行:

1
2
$ sudo apt-get update
$ sudo apt-get install mysql-server

在这期间,会让你设置root用户的密码

MYSQL 常用指令

重启MYSQL

1
$ sudo service mysql restart

进入MYSQL SHELL

root身份登陆,密码为root

1
$ mysql -u root -p root

将数据导入MYSQL

mysqlimport用法

使用mysqlimport指令可将数据从csv导入数据库

1
$ mysqlimport --fields-terminated-by=, --local -u root -pdb15319root song_db songs.csv

songs.csv中的数据导入数据库song_db,表名为songs。在songs.csv中分隔符为,

load infile用法

也可以在mysql shell中执行指令:

1
mysql> LOAD DATA LOCAL INFILE 'twitter.txt' INTO TABLE twitter CHARACTER SET utf8mb4 FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n';

MYSQL SHELL 常用指令

这里指进入mysql shell之后可以输入的指令,下面是一些实例

常用指令合集1

1
2
3
4
5
6
7
mysql> show databases;          #显示数据库
mysql> show tables; #显示数据表
mysql> describe students; #显示数据表students的详细信息
mysql> create database demo; #创建数据库demo
mysql> create user 'demouser'@'localhost' identified by 'demopassword'; #创建用户demouser本地用户,密码为demopassword
mysql> grant all privileges on demo.* to 'demouser'@'localhost' #给demouser赋予针对demo的所有权限
mysql> show processlist; #查看当前的连接数

Cloud Computing 作业流程

在ubuntu上安装mysql 5.7

目前apt-get上的mysql版本是5.5,如果想安装5.7需要按照以下步骤进行修改

首先上oracle官网下载deb文件。随后执行:

1
2
3
$ sudo dpkg -i mysql-apt-config_w.x.y-z_all.deb  
$ sudo apt-get update
$ sudo apt-get install mysql-server

在中间会跳入一个选择界面,请选择mysql5.7

对mysql进行必要修改

修改外网访问权限

我们需要开放3306端口,让front-end可以通过JDBC连接数据库。

首先要修改/etc/mysql/my.cnf,将下面一行bind-address注释掉

1
2
3
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
# bind-address = 127.0.0.1

随后,在mysql的shell中执行下列指令赋予访问权限

1
mysql> grant all on database_name.* to user_name@'%' identified by 'user_password';

修改database编码格式

修改/etc/mysql/my.cnf,在[mysqld]下添加:

1
2
3
4
[mysqld]
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8

进行mysql更新

有时会遇到Table 'performance_schema.session_variables' doesn't exist的情况,就需要执行下列代码进行更新:

1
$ mysql_upgrade -u root -p --force

建表

编写下面的脚本,保存为create_tables.sql:

1
2
3
4
5
6
7
8
9
10
DROP TABLE IF EXISTS `twitter`;

CREATE TABLE `twitter` (
`userid_hashtag` varchar(50) binary NOT NULL,
`content` TEXT,
INDEX search_key(userid_hashtag)
) ENGINE=MyISAM DEFAULT CHARACTER SET=utf8mb4;


LOAD DATA LOCAL INFILE 'twitter.txt' INTO TABLE twitter CHARACTER SET utf8mb4 FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n';

然后在命令行执行:

1
$ mysql -u root -proot twitter < create_tables.sql