简介
MySQL
是一个关系型数据库管理系统,由瑞典MySQL AB
公司开发,目前属于Oracle
公司。MySQL
是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,大大增加了速度并提高了灵活性。MySQL
使用标准的SQL
数据语言形式。
规划
网址
MySQL
:官网,Download;
版本
OS
:CentOS 7.7
、Ubuntu 18.04
。MySQL
:5.7.28
。
部署
CentOS
- 下载对应系统版本的
rpm-bundle
包:
1 | tar -xf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar |
- 安装依赖包:
1 | yum install -y libaio numactl |
- 卸载
mariadb-libs
软件包:
1 | rpm -e --nodeps $(rpm -qa | grep mariadb) |
- 安装
MySQL
服务:
1 | rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm |
- 创建工作目录:
1 | mkdir -p /data/mysql/{data,tmp,log} |
Ubuntu
- 下载对应系统版本的
deb-bundle
包:
1 | tar -xf mysql-server_5.7.28-1ubuntu18.04_amd64.deb-bundle.tar |
- 安装依赖包:
1 | apt install -y libaio1 libaio-dev libmecab2 libmecab-dev |
- 安装
MySQL
服务:
1 | # 弹出窗口,设置管理员密码 |
- 停止
MySQL
服务:
1 | systemctl stop mysql.service |
- 迁移工作目录:
1 | mkdir -p /data/mysql/{data,tmp,log} |
- 更改系统限制:
1 | vim /etc/apparmor.d/usr.sbin.mysqld |
1 | # Allow pid, socket, socket lock file access |
- 重新加载系统配置:
1 | systemctl reload apparmor.service |
配置
CentOS
的配置文件:/etc/my.cnf
。Ubuntu
的配置文件:/etc/mysql/my.cnf
。- 配置文件内容:
1 | [client] |
测试
维护
CentOS
- 停止
MySQL
服务:
1 | systemctl stop mysqld.service |
- 重启
MySQL
服务:
1 | systemctl restart mysqld.service |
- 获取
MySQL
服务状态:
1 | systemctl status mysqld.service |
- 启用开机自启
MySQL
服务:
1 | systemctl enable mysqld.service |
- 禁用开机自启
MySQL
服务:
1 | systemctl disable mysqld.service |
- 查看
MySQL
服务状态:
1 | systemctl status mysqld.service |
Ubuntu
- 停止
MySQL
服务:
1 | systemctl stop mysql.service |
- 重启
MySQL
服务:
1 | systemctl restart mysql.service |
- 获取
MySQL
服务状态:
1 | systemctl status mysql.service |
- 启用开机自启
MySQL
服务:
1 | systemctl enable mysql.service |
- 禁用开机自启
MySQL
服务:
1 | systemctl disable mysql.service |
测试
- 获取版本信息:
1 | mysql -V |
- 启动
MySQL
服务:
1 | # CentOS |
- 创建软链接:
1 | ln -s /data/mysql/tmp/mysql.sock /tmp/mysql.sock |
- 查看服务端口:
1 | # CentOS |
- 获取密码:
1 | # CentOS:获取随机生成的密码 |
- 登录数据库:
1 | mysql -u root -p"${MySQL_PASSWORD}" |
- 修改密码:
1 | -- 密码必须满足一定的复杂度, 包含大小写字母、数字、特殊字符,长度满足8位 |
- 创建数据库:
1 | CREATE DATABASE IF NOT EXISTS account DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; |
- 获取所有的数据库:
1 | SHOW DATABASES; |
- 切换数据库:
1 | USE account; |
- 创建数据表:
1 | CREATE TABLE user ( |
- 获取所有的数据表:
1 | SHOW TABLES; |
- 插入数据项:
1 | INSERT INTO user (nickname, gender) VALUES |
- 查询数据:
1 | SELECT id as 'ID', nickname as '姓名', gender as '性别' FROM user ORDER BY id ASC; |