初级:各版本、各平台安装搭建、升级
中级:体系结构原理、基础管理(启动关闭、初始化配置文件管理、多实 例管理、用户权限管理、基本SQL(增删改查))、日志管理、备份与恢复、主从复制(构建、状态监控)
高级:高可用(MGR、InnoDB Cluster)、高性能(优化)
懂至少一门开发语言 :JAVA、Python
基本SQL语句深入学习(增删改查)、数据库结构设计(建模)
高级SQL:存储过程、函数、触发器、视图、事件
(1)MySQL 5.7 安装部署(二进制)
(2)MySQL升级步骤扩展
(3)MySQL5.7 体系结构原理
(4)MySQL基础管理
(5)基础SQL语句使用
(6)SQL高级应用
(7)Information_schema获取元数据
(8)索引、执行计划管理(基础优化)
(9)存储引擎
(10)日志管理
(11)备份与恢复
(12)主从复制及架构演变
(13)传统的高可用及读写分离(MHA&Atlas)
(14)传统分布式架构设计与实现-扩展(Mycat--->DBLE,DRDS)
(15)MySQL 5.7 高可用及分布式架构-扩展(MGR,InnoDB Cluster)
(16)MySQL优化(安全、性能)
(17)MySQL 监控(zabbix、Open-falcon)
数据:文字、图片、视频。。。人类认知的数据表现方式 计算机:二进制、16进制的机器语言 基于数据的重要性和复杂性的不同,我们可能有不同的管理方式。
哪些数据是适合存储到数据库的呢? 重要性比较高的 关系较复杂的数据
RDBMS: 关系型数据库管理系统 比较适合于,安全级别要求高的数据以及关系较复杂的数据
NoSQL:非关系型数据库管理系统 适合于高性能存取数据,一般是配合RDBMS进行使用的 针对大数据处理分析,分布式架构更加擅长
MySQL 、Oracle、MSSQL(SQL Server)、PG
NoSQL:Not Only SQL
键-值(key-value):Redis, memcached
文档(document):Mongodb
[root@db01 ~]# mkdir -p /app/ 上传软件到此目录
[root@db01 app]# mv mysql-5.7.20-linux-glibc2.12-x86_64 mysql[root@db01 app]# ls -l /app/mysql/ total 36 drwxr-xr-x 2 root root 4096 Mar 4 14:55 bin -rw-r--r-- 1 7161 31415 17987 Sep 13 2017 COPYING drwxr-xr-x 2 root root 55 Mar 4 14:55 docs drwxr-xr-x 3 root root 4096 Mar 4 14:55 include drwxr-xr-x 5 root root 229 Mar 4 14:55 lib drwxr-xr-x 4 root root 30 Mar 4 14:55 man -rw-r--r-- 1 7161 31415 2478 Sep 13 2017 README drwxr-xr-x 28 root root 4096 Mar 4 14:55 share drwxr-xr-x 2 root root 90 Mar 4 14:55 support-files
修改环境变量:
vim /etc/profile export PATH=/app/mysql/bin:$PATH [root@db01 bin]# source /etc/profile
useradd mysql
mkdir /data/mysql -p chown -R mysql.mysql /app/* chown -R mysql.mysql /data/*
方法一:初始化数据,初始化管理员的临时密码
mysqld --initialize --user=mysql --basedir=/app/mysql --datadir=/data/mysql 2019-04-18T03:21:53.381108Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).2019-04-18T03:21:54.583415Z 0 [Warning] InnoDB: New log files created, LSN=457902019-04-18T03:21:54.697859Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.2019-04-18T03:21:54.760821Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 1daa0c57-6189-11e9-bc80-000c294234c8.2019-04-18T03:21:54.770856Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.2019-04-18T03:21:54.772016Z 1 [Note] A temporary password is generated for root@localhost: 9LN.fh_Ea#uU
报错原因: Linux系统中缺少libaio-devel 软件包 解决: yum install -y libaio-devel
报错原因: 在/data/mysql 存在文件 解决: \rm -rf /data/mysql/*
方法二 :初始化数据,初始化管理员的密码为空
\rm -rf /data/mysql/*[root@db01 ~]# mysqld --initialize-insecure --user=mysql --basedir=/app/mysql --datadir=/data/mysql 2019-04-18T03:37:43.146018Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).2019-04-18T03:37:43.892132Z 0 [Warning] InnoDB: New log files created, LSN=457902019-04-18T03:37:43.970412Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.2019-04-18T03:37:44.029490Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 5378f3b3-618b-11e9-9164-000c294234c8.2019-04-18T03:37:44.041469Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.2019-04-18T03:37:44.042348Z 1 [Warning] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.[root@db01 ~]#
[root@db01 ~]# cd /data/mysql/[root@db01 mysql]# ll total 110628-rw-r----- 1 mysql mysql 56 Apr 18 11:37 auto.cnf -rw-r----- 1 mysql mysql 419 Apr 18 11:37 ib_buffer_pool -rw-r----- 1 mysql mysql 12582912 Apr 18 11:37 ibdata1 -rw-r----- 1 mysql mysql 50331648 Apr 18 11:37 ib_logfile0 -rw-r----- 1 mysql mysql 50331648 Apr 18 11:37 ib_logfile1 drwxr-x--- 2 mysql mysql 4096 Apr 18 11:37 mysql drwxr-x--- 2 mysql mysql 8192 Apr 18 11:37 performance_schema drwxr-x--- 2 mysql mysql 8192 Apr 18 11:37 sys [root@db01 mysql]#
vim /etc/my.cnf [mysqld] user=mysql basedir=/app/mysql datadir=/data/mysql server_id=1 port=3306 socket=/tmp/mysql.sock [mysql] socket=/tmp/mysql.sock prompt=mysql [\\d]> //数据库名
[root@db01 mysql]# cd /app/mysql/support-files [root@db01 support-files]# ./mysql.server start Starting MySQL.Logging to '/data/mysql/db01.err'. SUCCESS! cp mysql.server /etc/init.d/mysqld
mysqlvim /etc/systemd/system/mysqld.service [Unit] Description=MySQL Server Documentation=man:mysqld(8) Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html After=network.target After=syslog.target [Install] WantedBy=multi-user.target [Service] User=mysql Group=mysql ExecStart=/app/mysql/bin/mysqld --defaults-file=/etc/my.cnf LimitNOFILE = 5000 注意:将原来模式启动mysqld先关闭,然后再用systemd管理。systemctl start/stop/restart/status mysqld
[root@db01 ~]# mysqladmin -uroot -p password 123 Enter password: mysqladmin: [Warning] Using a password on the command line interface can be insecure. Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety. 5.6版本: select user,password,host from mysql.user; 5.7 中用户基本信息 select user,authentication_string,host from mysql.user; desc mysql.user;
管理员密码修改 mysqladmin -uroot -p password xx