首先在Mysql官网(MySQL :: Download MySQL Community Server (Archived Versions))下载对应tar包
将下载的tar包通过Xftp上传到centos7中,这里以上传到/opt目录下为例:
把上传的mysql安装包解压
tar -xvf mysql-8.0.26-1.el7.x86_64.rpm-bundle.tar
安装前进行依赖检查
rpm -qa|grep libaio
rpm -qa|grep net-tools
执行结果如下:
接下来进行安装
rpm -ivh mysql-community-common-8.0.26-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-client-plugins-8.0.26-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-libs-8.0.26-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-client-8.0.26-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-server-8.0.26-1.el7.x86_64.rpm --nodeps --force
执行结果如下:
如果出现mariadb警告可执行下面代码,没有则忽略
rpm -qa | grep mariadb
rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps
使用mysql --version查看安装:
mysql --version
服务的初始化
为了保证数据库目录与文件的所有者为 mysql 登录用户,果你是以 root 身份运行 mysql 服务,需要执行下面的命令初始化:
mysqld --initialize --user=mysql
说明: --initialize 选项默认以“安全"模式来初始化,则会为 root 用户牛成一个密码并将该密码标记为过期,登录后你需要设置一个新的码。生成的临时密码会往日志中记录一份。
查看密码:
cat /var/log/mysqld.log
查看mysql启动状态:
systemctl status mysqld
启动mysql:
systemctl start mysqld
执行后再次查看启动状态,可以看到已启动
设置开机自启
systemctl enable mysqld.service
查看是否开机自启
systemctl list-unit-files|grep mysqld.service
登录mysql(密码为上面cat /var/log/mysqld.log看到的密码)
mysql -uroot -p
输入密码后可看到
查看数据库可看到提示需要更改密码:
更改密码:
ALTER USER root@localhost identified by '你的密码';
更改成功后可正常使用:
进行远程访问的授权:
create user 'root'@'%' identified with mysql_native_password by '你的密码';
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges; --立即生效
退出数据库,同时暴露数据库连接的3306端口,并重载防火墙
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
使用navicat(Navicat Premium 16)工具连接
如果通过上面步骤后依然无法正常链接,出现错误代码2058,是连接工具不支持MySql8.0 版本的加密规则导致,可在Mysql中执行下面SQL语句修改加密规则,如果可以正常链接则跳过此步骤
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码' PASSWORD EXPIRE NEVER;
flush privileges;