MySQL8.0安装以及介绍(二进制)

 

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  指定临时表文件存放路径

 

posted @ 2019-09-11 15:22  大仙儿没溜儿  阅读(1018)  评论(0编辑  收藏  举报