- 使用系统的 root 账户
- 切换到 /use/local 目录下
-
- 下载 mysql
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz
- 也可以直接在官方下载最新版本 官方下载 选择 linux
- 下载 mysql
- 解压 mysql
tar xvJf mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz
- 解压 mysql
- 重命名文件夹
mv mysql-8.0.21-linux-glibc2.12-x86_64 mysql-8.0
- 重命名文件夹
- 创建data文件夹 存储文件
mkdir data
- 创建data文件夹 存储文件
- 创建用户组以及用户和密码
groupadd mysql
useradd -g mysql mysql
- 创建用户组以及用户和密码
- 授权用户
chown -R mysql.mysql /usr/local/mysql-8.0
- 授权用户
- 切换到 bin 目录下
cd bin
- 切换到 bin 目录下
-
10 .初始化基础信息
./mysqld --user=mysql --basedir=/usr/local/mysql-8.0 --datadir=/usr/local/mysql-8.0/data/ --initialize
-
得到临时密码在最后 root@localhost:后面的 t.HtfDS=o9s;
-
-
- 编辑 my.cnf 文件
vi /etc/my.cnf
- 注释mysqld_safe 修改信息
- 编辑 my.cnf 文件
[mysqld]
basedir=/usr/local/mysql-8.0/
datadir=/usr/local/mysql-8.0/data/
socket=/tmp/mysql.sock
character-set-server=UTF8MB4
- 添加 mysqld 服务到系统
cp -a ./support-files/mysql.server /etc/init.d/mysql
- 添加 mysqld 服务到系统
- 授权以及添加服务
chmod +x /etc/init.d/mysql
chkconfig --add mysql
- 授权以及添加服务
- 启动mysql
service mysql start
- 启动mysql
-
- 遇到问题
mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
- 大致意思是系统找不到 libtinfo.so.5,也就是缺少这个依赖而无法启动。首先尝试用 yum下载:
yum -y install libtinfo.so.5
- 但一般都会如上图所示没什么卵用……所以下一步是重点: ldd 用来者查看程序运行所需的共享库(访问共享对象依赖关系),常用来解决程序因缺少某个库文件而不能运行的一些问题。我们发现 libtinfo.so.5 not found.
ldd /usr/local/mysql-8.0/bin/mysql
- 综上,如果 yum 已经安装了,但依赖依旧缺失,那一般是版本号没有对上的问题。那么使用如下命令: 这行命令的意思是:查找根目录下所有前缀为 ‘ibtinfo.so’ 的文件,同时不输出错误报告。2 的意思是 Linux 中的标准错误,通常打印到屏幕上,除了 2 以外,0 是从键盘获得标准输入,1 是从键盘获得标准输出;> 是重定向,而 /dev/null 则被称为“黑洞”,也就是如果出错了,错误报告都会被丢弃。一般用于返回的信息过多,但又不重要的时候,否则会影响阅读。
find / -name libtinfo.so\* 2>/dev/null
- 通过结果我们可以知道只有 6 的版本,解决方法有两种:一、找一份 5 的版本放在 /usr/lib64 的目录下(但我不会= =)。二、利用软连接使 5 指向 6。ln -s 是创建软连接的命令,意思和 Windows 的快捷方式差不多,这里不多赘述,以后有机会写一篇软连接与硬链接。当然现在网上也有很多讲的。
ln -s /usr/lib64/libtinfo.so.6.3 /usr/lib64/libtinfo.so.5
-
重复 14 启动成功
- 遇到问题
- 查看启动状态
service mysql status
- 查看启动状态
- 将 mysql 命令添加到服务
ln -s /usr/local/mysql-8.0/bin/mysql /usr/bin
- 将 mysql 命令添加到服务
- 登录 mysql 密码使用之前随机生成的密码
mysql -u root -p
- 登录 mysql 密码使用之前随机生成的密码
- 修改 root 密码 其中123456是新的密码自己设置
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
- 修改 root 密码 其中123456是新的密码自己设置
- 执行 使密码生效
flush privileges;
- 执行 使密码生效
- 选择 mysql 数据库
use mysql;
- 选择 mysql 数据库
- 修改远程连接并生效
update user set host='%' where user='root';
flush privileges;
- 修改远程连接并生效