mysql8的tar包在centos7上安装
欢迎纠错指导,关注转发。
下载tar包地址
https://dev.mysql.com/downloads/mysql/
官方安装文档,参考,安装会出问题,没看到官方问题的解决方案
https://dev.mysql.com/doc/refman/8.0/en/binary-installation.html
说明
操作系统centos7.9
查看glibc版本命令 rpm -qa | grep glibc
下载相应的版本
本机以glibc2.17下载包mysql-8.0.24-linux-glibc2.17-x86_64-minimal.tar.xz为例,且在root用户下安装
1、上传包到/usr/local路径,解压,重命名
cd /usr/local
xz -d mysql-8.0.24-linux-glibc2.17-x86_64-minimal.tar.xz
tar -xvf mysql-8.0.24-linux-glibc2.17-x86_64-minimal.tar
mv mysql-8.0.24-linux-glibc2.17-x86_64-minimal mysql
2、创建用户组和用户
groupadd mysql
useradd -r -g mysql mysql/etc/my.cnf文件,可以用系统的,也可以自己创建,内容如下
[client]
port=3306
socket=/var/lib/mysql/mysql.sock
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
注意文件my.cnf中的目录和文件,不一定在系统中存在,并且mysql用户不一定有权限,创建路径和授权,根据个人情况定
(也可以修改my.cnf文件的内容,路径到mysql有读写权限的目录和文件)
本人使用的创建目录和授权命令如下
mkdir /var/log/mariadb
touch /var/log/mariadb/mariadb.log
chown -R mysql:mysql /var/log/mariadb/
mkdir /var/run/mariadb
chown -R mysql /var/run/mariadb
3、初始化mysql
cd /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql(可以将归属给mysql也可以不给)
./bin/mysqld --initialize --user=mysql //记录一下你的初始化密码 YUFViKPx:1(+
4、启动mysql服务
cp ./support-files/mysql.server /etc/init.d/mysql.server //复制以后,可以使用systemctl start mysql命令启动,
如果出现Failed to start mysql.service: Unit not found,重启一下机器就行
systemctl start mysql
systemctl status mysql //查看运行状态是否已经启动
5、登录mysql
cd /usr/local/mysql
./bin/mysql -u root -p
输入初始化密码,但是如果my.cnf中没有[client]会报错,Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
find / -name mysql.sock 会查询到位置为/var/lib/mysql/mysql.sock
参考文章 https://www.jb51.net/article/174244.htm
在/etc/my.cnf文件开头加入
[client]
port=3306
socket=/var/lib/mysql/mysql.sock
重新启动mysql
systemctl restart mysql
再次登录就会成功
6、其他
修改初始化密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';
flush privileges;
修改为其他地址可以密码登陆
use mysql;
select host,user from user;
update user set host="%" where user="root";
flush privileges;
修改密码连接加密方式
use mysql;
//修改root用户的加密规则,mysql8默认使用了caching_sha2_password
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码'; //修改root用户的密码为
flush privileges;
欢迎纠错指导,关注转发。