官方文档
https://dev.mysql.com/doc/refman/8.0/en/linux-installation-rpm.html
以下操作都是用 root 用户操作
另配置文件是使用mysqld --initialize 生成的/etc/my.cnf 默认的配置
不做修改只做了添加
1查看Linux系统版本的命令:
lsb_release -a
redhat 6.4
2首先检测一下,mysql之前有没有被安装命令:
rpm -qa | grep mysql
3删除mysql的命令:
rpm -e --nodeps `rpm -qa | grep mysql`
4下载地址:
https://dev.mysql.com/downloads/mysql/
选择跟自己操作系统一样(系统版本号也要一样)的mysql8的版本
包名 mysql-8.0.20-1.el6.x86_64.rpm-bundle.tar
其中el6 代表红帽redhat 6.X
5上传tar 包到mysql用户的文件夹下
放在/user/local/mysql
6解压
tar xvf mysql-8.0.20-1.el6.x86_64.rpm-bundle.tar
解压出来的.rpm有7个我们只安装四个
8安装rpm包的有四个,按照以下固定测序执行如下命令(他们之间有依赖关系)
rpm -ivh mysql-community-common-8.0.20-1.el6.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.20-1.el6.x86_64.rpm
rpm -ivh mysql-community-client-8.0.20-1.el6.x86_64.rpm
rpm -ivh mysql-community-server-8.0.20-1.el6.x86_64.rpm
在执行
rpm -ivh mysql-community-libs-8.0.20-1.el6.x86_64.rpm
报错
error:Failed dependencies:
libcrypto.so.10(OPENSSL_1.0.1_EC)(64bit) is needed by mysql-community-libs-8.0.20-1.el6.x86_64
libcrypto.so.10(libcrypto.so.10)(64bit) is needed by mysql-community-libs-8.0.20-1.el6.x86_64
libssl.so.10(libssl.so.10)(64bit) is needed by mysql-community-libs-8.0.20-1.el6.x86_64
意思是安装mysql-community-libs-8.0.20-1.el6.x86_64 缺少以上相关的依赖包
下载网址
https://pkgs.org/download/
或
https://rpmfind.net/linux/rpm2html/search.php
下载
openssl-1.0.1e-57.el6.x86_64.rpm
执行命令
rpm -Uvh openssl-1.0.1e-57.el6.x86_64.rpm --nodeps --force
安装成功后
重新执行
rpm -ivh mysql-community-libs-8.0.20-1.el6.x86_64.rpm
成功后继续执行
rpm -ivh mysql-community-client-8.0.20-1.el6.x86_64.rpm
rpm -ivh mysql-community-server-8.0.20-1.el6.x86_64.rpm
9初始化
mysqld --initialize
10编辑编辑 /etc/my.cnf
添加
[mysql]
socket=/var/lib/mysql/mysql.sock
[mysqld]
sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
11启动
service mysqld start
报错
InnoDB: Operating system error number 13 in a file operation.
使用命令解决
执行:
setenforce 0
再启动
service mysqld start
报错
The innodb_system data file 'ibdata1' must be writable
使用命令解决
chmod -R 777 /var/lib/mysql
再启动
service mysqld start
查看进程
ps aux | grep mysql
11然后用 mysql -uroot -p 连接登录 临时密码在 /var/log/mysql.log
12修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
13授权远程登录
use mysql;
update user set host='%' where user ='root';
14刷新权限
flush privileges;
15去除身份验证,防止maxwell无法连接,可能需要执行两遍
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
备注:
如果在11步骤报错
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'
检查
/etc/my.cnf内容
[mysql]
socket=/var/lib/mysql/mysql.sock
与
[mysqld]
socket=/var/lib/mysql/mysql.sock
是否一致
本次安装初步了解mysql的基本安装my.cnf 各参数的意义,未做任何优化