MySQL 8 通用二进制发行版安装
安装前的一些说明:
检查平台兼容性:
https://www.mysql.com/support/supportedplatforms/database.html
如果是在RedHat7版本安装的话,可以先卸载自带的MySQL版本。
通过以下命令查看系统是否预安装了MariaDB:
shell> rpm -qa | grep mariadb
通过以下命令删除预安装的MariaDB:
shell> rpm -e --nodeps mariadb-server mariadb-libs
验证包的完整性以及是否被篡改:
shell> md5sum mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz
或者
shell> openssl md5 mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz
对比该校验和与MySQL下载项页面下的校验和是否相同
MySQL依赖libaio库,如果本地没有安装该库的话,后面的数据目录初始化及MySQL服务器启动会失败。
安装libaio库:
shell> yum search libaio # search for info
shell> yum install libaio # install library
注:官档中只是安装了libaio包,在实际安装MySQL过程中,还需要安装libaio的开发文件包:libaio-devel
shell> yum install libaio-devel
补充:在RedHat 8中,默认没有安装/lib64/libtinfo.so。该文件是在MySQL二进制安装下使用MySQL 客户端时需要的。
可以通过下面命令安装需要的包解决:
shell> yum install ncurses-compat-libs
下面是安装过程的简单介绍:
解压tar包到选择的位置。
安装和使用MySQL二进制发行版,命令顺序如下:
#创建MySQL用户和组,应该该用户仅用作所有者目的,没有登录要求,-r 和 -s /bin/fals 创建没有登陆权限的用户
shell> groupadd mysql
shell> useradd -r -g mysql -s /bin/false mysql
shell> cd /usr/local
shell> tar xvf /path/to/mysql-VERSION-OS.tar.xz
shell> ln -s full-path-to-mysql-VERSION-OS mysql
#避免在使用MySQL命令时需要输入路径名
shell> export PATH=$PATH:/usr/local/mysql/bin
shell> cd mysql
shell> mkdir mysql-files
shell> chown mysql:mysql mysql-files
shell> chmod 750 mysql-files
#MySQL 8 中系统变量lower_case_table_names只能在数据目录初始化时设置
shell> bin/mysqld --initialize --user=mysql
#在MySQL 8中ssl 和 rsa 相关文件在数据目录初始化时自动生成到数据目录下
shell> bin/mysql_ssl_rsa_setup
shell> bin/mysqld_safe --user=mysql &
# 下面的命令是可选的
shell> cp support-files/mysql.server /etc/init.d/mysql.server
注:mysl-files是用作secure_file_priv系统变量的目录位置。
经过上面的步骤已经完成了MySQL的安装,下面是一些补充说明:
安装后设置:
初始化数据目录
mysqld 选项说明一下:
--initialize 与 --initialize-insecure区别:前者为root@localhost生成一个随机密码,后者不会
--user=mysql:如果数据目录初始化操作是root用户,这个选项的作用是将生成的数据目录下的文件所属用户设置为mysql
--basedir:如果MySQL不能正确的表示MySQL安装位置
--datadir:如果希望将数据目录安装到指定位置
--init_file:数据库启动时,设置的一些操作,比如:ALTER USER 'root'@'localhost' IDENTIFIED BY 'root-password';
--innodb_data_home_dir:InnoDB 系统表空间目录位置
--innodb_data_file_path:InnoDB 系统表空间属性设置
--lower_case_table_names=1:数据库表名在文件系统中小写
--innodb_log_group_home_dir:InnoDB 日志文件位置,可以将其设置为与数据库文件不同的存储设备上
--innodb_log_file_size:设置InnoDB 日志文件大小
--innodb_log_files_in_group:设置InnoDB 日志文件数量
--skip_host_name:如果设置了,客户端连接只能使用IP地址,user@'hostname'不可使用
mysqld的系统变量可以放在选项文件中,这样在做数据目录初始化时,可以这样做:
vim /etc/my.cnf
[mysqld]
lower_case_table_names=1
secure_file_priv=/usr/local/mysql/mysql-files
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
mysqld --defaults-file=/etc/my.cnf --initialize-insecure --user=mysql
注:--defaults-file参数要放在第一位,否则会提示该参数不能识别
关于启动服务器的一些说明:
shell> bin/mysqld_safe --user=mysql &
使用YUM安装的MySQL数据库没有mysql_safe,该安装类型使用systemd管理数据库服务,比如,使用下面命令启MySQL:
shell> systemctl start mysqld
使用非特权用户运行MySQL服务器非常重要。如果使用root登录运行MySQL服务器,可以加 --user=mysql参数,如果是使用非特权用户登录,比如mysql用户,可以不加--user参数
如果服务器启动时不能访问数据目录或者读mysql schema下的授权表,可能原因包括:
没有做数据目录初始化,就启动MySQL服务器,因为在有些安装模式下数据目录初始化是自动完成的
还有一种情况是,使用root用户运行数据目录初始化时,没有指定--user参数
解决方案:删除数据目录,重新做初始化
测试MySQL服务器:
MySQL启动后,可以做一些简单的测试,确认服务器是否满足需求
测试服务器是否启动并且响应连接:
shell> bin/mysqladmin version
shell> bin/mysqladmin variables
测试服务器是否可以正常启停:
shell> mysqladmin shutdown
shell> bin/mysqld_safe --user=mysql &
测试是否可以从服务器检索信息:
shell> bin/mysqlshow
shell> bin/mysqlshow mysql
mysql -e "select * from mysql.user"
MySQL 8 通用二进制发行版安装的更多相关文章
- 多个Linux发行版安装ss服务端
本文仅做技术探讨,请在遵守相应的法律法规的前提下使用. Centos 7一键安装脚本 简单快捷,随机生成密码,默认端口默认加密类型 bash <(curl -s http://morning.w ...
- MySQL 5.7 解压版 安装教程(图文详细)[Windows]
最近在学习中用到了MySQL数据库,在安装过程中遇到了不少问题,在翻了大半天百度后,问题基本都解决了,所以写一篇MySQL 5.7 解压版的图文详细安装教程. 至于为什么我会选择解压版而不是安装版,一 ...
- MySQL 5.7.20绿色版安装详细图文教程
MySQL 5.7.20绿色版安装详细图文教程 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle旗下产品.这篇文章主要介绍了MySQL 5.7.20绿色版安装 ...
- 常见的LINUX发行版安装libiconv库方法
今天编译程序,发现程序报错,如下 cannot find -liconv collect2: ld returned 1 exit status 或者 undefined reference to ` ...
- MySql 5.7.20 绿色版安装
MySql 5.7.20 绿色版安装 一.MySql 安装 1.从官网下载绿色压缩包. 2.解压安装文件到指定目录 3.创建配置文件 my.ini 到解压文件的根目录,my.ini 配置文件如下,需将 ...
- MySQL使用通用二进制格式安装
CentOS7安装MySQL的方法之通用二进制格式
- mysql 5.7 win7 压缩版安装
1.下载mysql压缩版并解压: 2.复制my-defualt.ini , 命名为my.ini; 3. 3.1 运行在下图bin目录下运行:mysqld --install 安装mysql服务: ...
- Sequel Pro for Mac(MySQL 数据库管理工具)破解版安装
1.软件简介 Sequel Pro 是一款管理 Mysql 的工具,界面简洁易用. 2.功能特色 FULL MYSQL SUPPORT Sequel Pro is a fast, easy-to ...
- mysql 5.6 windows7 解压缩版安装的坑
从官网下载了解压缩版的mysql ,解压缩后,配置好环境变量,运行安装命令,提示我 缺失ddl文件,然后百度,找到了一个windows 系统组件扫描安装缺失组件的程序,然后继续安装,遇到了 初始化密码 ...
随机推荐
- dubbo 分布式服务框架 介绍
Dubbo是阿里巴巴内部的SOA服务化治理方案的核心框架,每天为2000+ 个服务提供3,000,000,000+ 次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点.Dubbo自2011年开源后, ...
- Zookeeper 介绍 原理
简介: ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务. 它Google的Chubby一个开源的实现,在分布式协调技术方面做得比较好的就是Google的Chubby还有 ...
- ELK(V7)部署与架构分析
1.ELK的背景介绍与应用场景 在项目应用运行的过程中,往往会产生大量的日志,我们往往需要根据日志来定位分析我们的服务器项目运行情况与BUG产生位置.一般情况下直接在日志文件中tailf. grep. ...
- css架构技巧
1. 写一个reset.css 用于清除浏览器标签默认样式并定义全局样式,这样就不会因为浏览器默认样式出现问题,因为不同浏览器的默认样式还是不一样的
- Navicat 导入数据时报Incorrect datetime value: '0000-00-00 00:00:00.000000' 错误
今天重装了个系统,装好MySQL和Navicat之后导入SQL时报了Incorrect datetime value: '0000-00-00 00:00:00.000000' 错误, 查了资料说是m ...
- Day4前端学习之路——背景边框列表链接和更复杂的选择器
课程目标 掌握 CSS 稍微复杂的一些选择器,还有背景,边框等一些 CSS 样式属性 主要内容: 背景属性 边框 列表 链接 其他选择器 选择器概览:https://www.w3school.com. ...
- C语言实现双人控制的战斗小游戏
实现功能 1.双人分别控制小人移动 2.子弹碰撞 3.可改变出弹方向 4.血条实体化 前言 这个游戏是看了知乎一位非常好的老师的专栏后练手写的,(至于是哪位,知乎搜C语言小游戏最牛逼的那位) 有老师系 ...
- CentOS安装python3环境
CentOS7.4安装python3环境 (Python 3.8.1) (stable version, Dec.18, 2019) # .从官网下载Python - Dec. , [stable v ...
- redis 5.0.7 源码阅读——双向链表
redis中双向链表相关的文件为:adlist.h与adlist.c 一.数据结构 redis里定义的双向链表,与普通双向链表大致相同 单个节点: typedef struct listNode { ...
- P3945 | 三体问题 (天体物理+计算几何)
最近终于把<三体Ⅰ·地球往事>和<三体Ⅱ·黑暗森林>看完了! 为了快点认识题目中的歌者文明,已经开始第三部了! 题目背景 @FirstLight0521 出题人在这里哦~ 三体 ...