MySQL相关产品介绍:
Oracle MySQL Cloud Service(commercial)
商业付费软件,基于Mysql企业版和Oracle云服务提供企业级MySQL数据库服务
MySQL Enterprise Edition(commercial)
商业付费软件,除了提供MySQL数据库之外,还包括了程序连接接口(connector),表分区(partition),企业级监控(monitor),高可用(HA),备份(backup) 扩展(scalability)等服务
MySQL Cluster CGE(commercial)
商业付费软件,基于MySQL Cluster和企业版拥有的各项功能提供企业级的高并发,高吞吐的数据服务
MySQL Community Edition
免费社区软件,提供基础的数据库服务和其他衍生服务
MySQL Community Server
最流行的开源数据库管理软件
Mysql Cluster
基于Mysql数据库而实现的集群服务,自身能提供高并发负载等特性
Msql Fabric
Mysql官方提供的关于Mysql数据库高可用和数据库分片的解决方案
Mysql Connectors
为应用程序提供JDBC/ODBC等访问Mysql数据库的接口服务
MySQL Community Server各个版本主要区别
Mysql4.0版本:
增加了子查询的支持,字符集增加了UTF-8 GROUP BY 语句增肌了ROLLUP mysql.user表才用了更好的加密算法,innodb开始支持单独的表空间
Mysql5.0版本:
增加了stored procedures, views,Cursors,Triggers ,XA transactions的支持,增加INFORATION_SCHEMA系统数据库
Mysql5.5版本:
默认存储引擎更改为Innodb,提高性能和可扩展性,增加了半同步复制
Mysql5.6版本:
提高Innodb性能,支持延迟复制
Mysql5.7版本:
提升数据库性能和存储引擎,更健壮的复制功能,增加sys系统库存放数据库管理信息
Mysql8.0后续会更新....
官方网址: https://dev.mysql.com/downloads/mysql/
直接下载地址:https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz
#上传到服务器(通过xshell上传到服务器)
yum install -y lrzsz
rz -y #选择你下载的mysql安装包 或者 直接wget 下载URL地址 直接在服务器上下载
#将包拷贝到/usr/local/下解压缩,并且更改名称
mv /root/mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz /usr/local/ tar -xvf mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz mv mysql-8.0.17-linux-glibc2.12-x86_64 mysql
#目录详解
cd mysql/ ls drwxr-xr-x. 2 7161 31415 4096 6月 27 06:35 bin #执行命令 drwxr-xr-x. 2 7161 31415 86 6月 27 06:35 docs #文档 drwxr-xr-x. 3 7161 31415 261 6月 27 06:35 include #头文件 drwxr-xr-x. 6 7161 31415 4096 6月 27 06:35 lib #lib包 -rw-r--r--. 1 7161 31415 336955 6月 25 18:23 LICENSE -rw-r--r--. 1 7161 31415 101805 6月 25 18:23 LICENSE.router drwxr-xr-x. 4 7161 31415 30 6月 27 06:35 man #man的信息 -rw-r--r--. 1 7161 31415 687 6月 25 18:23 README -rw-r--r--. 1 7161 31415 700 6月 25 18:23 README.router drwxrwxr-x. 2 7161 31415 6 6月 27 06:35 run drwxr-xr-x. 28 7161 31415 4096 6月 27 06:35 share #字符信息 drwxr-xr-x. 2 7161 31415 77 6月 27 06:35 support-files #mysql.server启动服务 drwxr-xr-x. 3 7161 31415 17 6月 27 06:35 var
#创建存放数据目录 data
mkdir data
#创建mysql用户和组,授权data目录
groupadd mysql useradd mysql -g mysql chown mysql.mysql data
#mysql初始化(会在data目录里生成文件)
bin/mysqld --initialize --user=mysql --datadir /usr/local/mysql/data #A temporary password is generated for root@localhost: 8<SdQftla/qj #这里会在屏幕上显示临时密码
如果没有把data目录里的文件删除,重新初始化
#如果报错 :bin/mysqld:error while loading shared libraries:libaio.so.1.....No such file or directory
解决办法:yum install -y libaio
#启动mysql
cp mysql.server /etc/init.d/ rm -rf /etc/my.cnf #很有可能你的服务器安装过mariadb /etc/init.d/mysql.server start Starting MySQL.Logging to '/usr/local/mysql/data/mysql.err'. SUCCESS!
#查看进程会有两个
ps -ef|grep mysql root 8456 1 0 15:12 pts/0 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/mysql.pid mysql 8541 8456 4 15:12 pts/0 00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=mysql.err --pid-file=/usr/local/mysql/data/mysql.pid root 8586 8220 0 15:12 pts/0 00:00:00 grep --color=auto mysql
#连接mysql
mysql -uroot -p
-bash: mysql: 未找到命令
#配置环境变量
vi /root/.bash_profile PATH=$PATH:$HOME/bin:/usr/local/mysql/bin source /root/.bash_profile
mysql -uroot -p
输入刚才的密码:
#现在还不能输入命令会报错
mysql> show databases; ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
#修改密码
mysql> alter user user() identified by 'mysql';
#退出重新登录
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.00 sec)
下面每一个都是单独的!!!!!!
==============只移动data目录===================
#创建存储数据目录,将mysql的数据目录data拷贝至此
mkdir /data/mysql -p cd /data/mysql
/etc/init.d/mysql.server stop mv /usr/local/mysql/data .
#修改配置文件并重启
vi /etc/my.cnf
[mysqld]
datadir=/data/mysql/data
/etc/init.d/mysql.server start
================移动mysql整个目录===================
#将整mysql目录移动到/data/mysql/下面
/etc/init.d/mysql.server stop
mv /usr/local/mysql /data/mysql/ vim /etc/my.cnf [mysqld] basedir=/data/mysql/mysql datadir=/data/mysql/mysql/data /etc/init.d/mysql.server start
==============初始化到指定目录===================
bin/mysqld --initialize --user=mysql --basedir=/data/mysql --datadir=/data/mysql/data & #指定配置文件 vim /etc/my.cnf [mysqld] basedir=/data/mysql datadir=/data/mysql/data #修改环境变量 vim /root/.base_profile PATH=$PATH:$HOME/bin:/data/mysql/bin source .base_profile #启动 /etc/init.d/mysql.server start mysql -uroot -p 输入密码 alter user user() identified by 'mysql'; exit
=================一台机器跑多个mysql=============
cd /data cp mysql mysql2 -R #修改配置文件 vim /etc/my3307.cnf [mysqld] basedir=/data/mysql2 datadir=/data/mysql2/data port=3307 socket=/tmp/mysql3307.sock mysqlx_port=33070 #8.0开始会启动两个端口3306 33060 mysqlx_socket=/tmp/mysqlx33070.sock #同理 chown mysql.mysql /data/mysql2/data -R #启动 /data/mysql2/bin/mysqld --defaults-file=/etc/my3307.cnf --user=mysql & #检查 ps -ef|grep mysql netstat -lntup|grep 3307 netstat -lntup|grep 33070 #登陆 mysql -uroot -p -S /tmp/mysql3307.sock
======================MySQL启动相关参数=====================
basedir = /usr/local/mysql 代表mysql安装路径
datadir=/usr/local/mysql/data mysql的数据文件路径
port=3306 mysql的监听端口
log-error=/usr/local/mysql/data/主机名.error 记录mysql启动日志和运行错误日志
bind-address(默认是*) 接收所有来自IPV4,ipv6主机网卡tcp/ip连接 0.0.0.0 表示接收IPV4
character-set-server(默认是latin1) 指定mysql的字符集
collation-server(默认是latin1) 指定mysql的排序规则
default-storage-engine(默认是innodb) 指定mysql默认存储引擎
default-time-zone 指定默认时区,如果没有指定和系统默认一致
open-files-limit(默认5000) 指定mysql运行过程中可以打开的文件数,避免出现"Too many open file" 报错
pid-file=/usr/local/mysql/data/xxx.pid 指定mysqld进程对应的程序ID文件,默认在数据文件目录中
Skip-grant-tables 指定避开mysql内部权限表启动服务(一般用来忘记密码使用)
Tmpdir 指定临时表文件存放路径