Centos 7安装Mysql8.0.28版本
1,下载安装包
去官网:https://downloads.mysql.com/archives/community/下载安装包,我这使用的是Linux-Generic:mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz。
2,上传服务器
将下载的安装包上传服务器,解压,移动。
xz -d mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz
tar -xvf mysql-8.0.28-linux-glibc2.12-x86_64.tar
mv mysql-8.0.28-linux-glibc2.12-x86_64 /usr/local/
3,创建用户和组
groupadd mysql
useradd -g mysql mysql
4,创建文件及授权
mkdir /usr/local/mysql-8.0.28-linux-glibc2.12-x86_64/data
touch /usr/local/mysql-8.0.28-linux-glibc2.12-x86_64/mysql.log
ln -s /usr/local/mysql-8.0.28-linux-glibc2.12-x86_64 /usr/local/mysql
chown -R mysql:mysql usr/local/mysql
chown -R mysql:mysql /usr/local/mysql-8.0.28-linux-glibc2.12-x86_64
5,初始化数据库
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
注意:初始化完成会生成一个密码,后面会用到。
6,修改/etc/my.cnf文件
vim /etc/my.cnf
配置信息如下:
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/mysql.sock
port=3306
symbolic-links=0
character-set-server=utf8
[mysqld_safe]
log-error=/usr/local/mysql/mysql.log
pid-file=/var/log/mysql/mysql.pid
[client]
socket=/usr/local/mysql/mysql.sock
port=3306
default-character-set=utf8
7,配置mysql.server
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql.server
配置信息如下:
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
8,启动mysql服务
/etc/init.d/mysql.server start
9,登录数据库
/usr/local/mysql/bin/mysql -u root -p
输入上述第5步生成的密码。
10,错误解决
如果报下述错误:
ERROR 1862 (HY000): Your password has expired. To log in you must change it using a client that supports expired passwords.
重启mysql服务,再重新登录
/etc/init.d/mysql.server restart
如果报下述错误:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
先修改文件/etc/my.cnf,在mysqld添加以下内容
skip-grant-tables
再次重启mysql服务,此次是以空密码方式登录数据库
/usr/local/mysql/bin/mysql -u root -p
输入密码的时候直接enter,即可登录,然后修改密码
flush privileges;
alter user 'root'@'localhost' identified with mysql_native_password by '自定义密码';
将/etc/my.cnf修改回去,再重启mysql服务,再次登录数据库即可。