【MySQL】在CentOS8纯手动安装 8.0.20版本
之前尝试过YUM安装,但是下载到一般就中断,
受制于网路和其他不可抗力,出现这样的问题也没有很好的解决方案
所以这里采用的是先在windos上下载好文件,然后上传linux安装
下载地址:【点我访问】
https://dev.mysql.com/downloads/mysql/
Linux系统版本鱼龙混杂,我不确定到底选什么好
官网提供了一个Linux通用的版本,那就选通用的好了
注意系统位数,Linux也是分为64和32位数区别的【我也不知道为什么要点glibc注释的】
【其实这里选第一个 Compressed Tar Archive的就好了,下我框的这个就是内容多一点,文件更大】
把下载下来的数据库解压包文件上传到linux上面
参见XFTP使用:
解压部分:
tar -xvf mysql-8.0.20-linux-glibc2.12-x86_64.tar
再解压这一个压缩包得到mysql数据库的目录
tar -xvf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
先重命名目录,名称太长了
mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql-8.0.20
移动至指定的位置
mv /root/公共/mysql-8.0.20 /usr/local/mysql
设置用户组和用户,及其权限
groupadd g_mysql useradd -r -g g_mysql mysql_root
创建数据库目录
mkdir -p /data/mysql
为这个库目录给mysql_root设置访问权限
chown mysql_root:g_mysql -R /data/mysql
编写mysql配置文件:
vim /etc/my.cnf
配置文件内容
仔细核对关键信息:
- user 要写我们创建那个mysql组用户
- basedir指的是我们的mysql数据库程序目录
- datadir指的是我们的mysql库目录
[mysqld] bind-address=0.0.0.0 port=3306 user=mysql_root basedir=/usr/local/mysql/mysql-8.0.20 datadir=/data/mysql socket=/tmp/mysql.sock log-error=/data/mysql/mysql.err pid-file=/data/mysql/mysql.pid #character config character_set_server=utf8mb4 symbolic-links=0 explicit_defaults_for_timestamp=true
【编辑完成按Esc 输入:wq回车退出】
切换到bin中初始化
注意一些参数信息
- basedir
- user
cd /usr/local/mysql/mysql-8.0.20/bin ./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/mysql-8.0.20 --datadir=/data/mysql/ --user=mysql_root --initialize
查看生成的密钥并保留
cat /data/mysql/mysql.err
最后一行的最后几个字就是
dK*nl<2pCp?o
复制服务文件到etc的初始化D中
cp /usr/local/mysql/mysql-8.0.20/support-files/mysql.server /etc/init.d/mysql
启动MySQL服务
service mysql start
成功了
登陆MySQL
./mysql -u root -pdK*nl<2pCp?o
发现无法登录
查看依赖,是没有这个5的文件
libitinfo.so.5 => not found
和这个文章指出的问题完全一样
https://www.cnblogs.com/jiangfeilong/p/10554801.html
【依赖文件】
链接: https://pan.baidu.com/s/1GLizZJ2TpT9iAzJrstlYQA 提取码: z03c
根据上面的依赖信息,可以推断是在lib64目录中存放即可
登陆MySQL测试,正常执行
使用我们之前的那个密码,访问成功!
【安全输入,密码在这里看不见的】
8版本的更新规则语法是这样的:【怪不得一直写5版本的报语法错误】
新版本更新修改:
ALTER USER ‘root‘@‘localhost‘ IDENTIFIED BY ‘password‘ PASSWORD EXPIRE NEVER; #修改加密规则 ALTER USER ‘root‘@‘localhost‘ IDENTIFIED WITH mysql_native_password BY ‘123456‘; #更新一下用户的密码 FLUSH PRIVILEGES;
老版本更新修改
SET PASSWORD = PASSWORD(‘123456‘); ALTER USER ‘root‘@‘localhost‘ PASSWORD EXPIRE NEVER; FLUSH PRIVILEGES;
然后退出重新登陆
到这一步应该算是完成了吗?
参考自5.7的安装:
https://blog.csdn.net/qq_37598011/article/details/93489404
他说的中断连接也没有出现啊
关于初次登陆的密码修改
https://blog.csdn.net/muziljx/article/details/81541896
依赖文件缺少
https://www.cnblogs.com/jiangfeilong/p/10554801.html