首先需要卸载旧版本
如果未安装过mysql可以忽略该步骤。
如果安装过mysql,旧版mysql,避免版本冲突和不必要的麻烦。
关闭mysql服务
使用命令systemctl stop mysqld停止mysql服务。
systemctl stop mysqld //系统不同mysql服务名称可能存在差别,若无法关闭可尝试 systemctl stop mysql.service
查看安装的mysql
使用命令rpm -qa | grep mysql查看已安装的mysql相关包。
rpm -qa | grep mysql
卸载mysql相关包
使用命令rpm -e包名卸载已安装的mysql相关包。
//普通删除模式 rpm -e xxx(mysql_libs) //强力删除模式,如果上述命令删除时,提示有依赖其他文件,则可以用该命令对其进行强力删除 rpm -e --nodeps xxx(mysql_libs)
检查是否有mariadb:
//检查如果存在mariadb [root@localhost ~]# rpm -qa | grep mariadb mariadb-libs-5.5.68-1.el7.x86_64 //进行删除 rpm -e --nodeps mariadb-libs
删除mysql相关目录
删除mysql的相关目录,如/var/lib/mysql、/etc/my.cnf等。
rm /var/lib/mysql rm /etc/my.cnf
第一种方式:通过上传压缩包的形式进行安装mysql8
访问mysql官网下载linux安装包
本次选择安装的为8.0.13的版本,高版本的文件一些大
上传mysql包到centos7系统
上传目录为/usr/local/
进行解压
tar -xvf mysql-8.0.13-linux-glibc2.12-x86_64.tar //解压后还是压缩包,再次解压 tar -xvf mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz //将解压后的文件修改为mysql8.0 mv mysql-8.0.13-linux-glibc2.12-x86_64 mysql8.0
创建data存储文件夹
cd mysql8.0 mkdir data
创建用户组及用户
groupadd mysql useradd -g mysql mysql
授权用户
chown -r mysql.mysql /usr/local/mysql8.0
mysql初始化
cd bin ./mysqld --user=mysql --basedir=/usr/local/mysql8.0 --datadir=/usr/local/mysql8.0/data/ --initialize
此过程或生成初始密码,要将密码copy下来,后期登录时使用
编辑my.cnf
vim /etc/my.cnf
my.cnf添加以下配置
[mysqld] basedir=/usr/local/mysql8.0 datadir=/usr/local/mysql8.0/data pid-file=/usr/local/mysql8.0/data/mysqld.pid log-error=/usr/local/mysql8.0/data/mysql.err socket=/tmp/mysql.sock symbolic-links=0
添加mysqld服务
返回到mysql8.0目录
//进入mysql8.0目录 cd .. //添加服务 cp -a ./support-files/mysql.server /etc/init.d/mysql
授权以及添加服务
chmod +x /etc/init.d/mysql chkconfig --add mysql
启动mysql
service mysql start
出现success或者ok,说明安装成功
通过service mysql status可以查看mysql状态
service mysql status
将mysql命令添加到服务
ln -s /usr/local/mysql8.0/bin/mysql /usr/bin
登录mysql
mysql -u root -p //输入初始化生成的初始密码
进入mysql修改密码
alter user 'root'@'localhost' identified with mysql_native_password by 'you_password';
刷新权限使密码生效
flush privileges;
允许mysql远程连接
mysql -u root -p enter password:输入你的密码 //修改mysql表 use mysql; //修改允许远程连接 update user set host='%' where user='root'; //刷新权限 flush privileges;
mysql停止及重启
//mysql停止 systemctl stop mysql.service 或 systemctl stop mysqld //mysql重启 systemctl restart mysql.service 或 systemctl restart mysqld
第二种方式:通过服务器下载的安装包的方式进行安装
debian/ubuntu系统上进行安装mysql
在linux上安装mysql 8.0,您可以遵循以下步骤:
下载mysql apt repository
wget https://dev.mysql.com/get/mysql-apt-config_0.8.15-1_all.deb
安装mysql apt配置包
sudo dpkg -i mysql-apt-config_0.8.15-1_all.deb 在出现的界面中选择mysql 8.0,然后点击ok。
更新apt源
sudo apt-get update
安装mysql服务器
sudo apt-get install mysql-server
运行安全安装脚本
sudo mysql_secure_installation 跟随提示设置root密码,移除匿名用户,禁止root远程登录等。
启动mysql服务
sudo systemctl start mysql.service 确认mysql服务运行状态: sudo systemctl status mysql.service
登录mysql
mysql -u root -p
输入您在安全安装期间设定的密码。
centos7安装mysql8.0
在centos 7上安装mysql 8.0,可以按照以下步骤操作:
下载mysql官方的yum repository
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
添加mysql yum repository到你的系统
sudo rpm -uvh mysql80-community-release-el7-3.noarch.rpm
安装mysql服务器
sudo yum install mysql-community-server
启动mysql服务
sudo systemctl start mysqld
查找临时生成的root密码
sudo grep 'temporary password' /var/log/mysqld.log
安全配置mysql(设置root密码等)
sudo mysql_secure_installation
启动mysql服务,并设置开机自启
sudo systemctl enable mysqld sudo systemctl start mysqld
安装mysql后忘记密码进行重置
配置免密登陆
修改配置my.cnf文件
vim /etc/my.cnf
在文件最后加上
skip-grant-tables
重启mysql
service mysqld restart 或 systemctl restart mysql.service 或 system restart mysqld
直接免密登陆
mysql -u root -p
直接回车登陆
置空密码
进入mysql之后,使用如下查看用户数据:
select host, user, authentication_string, plugin from user;
如果user对应的authentication_string不为空,按下面操作置空(示例代码为对root用户操作)
use mysql; update user set authentication_string='' where user='root'; //修改完成后退出 exit
修改密码
关闭免密登陆(配置免密登录的反向操作):
vim /etc/my.cnf
去掉最后面的
skip-grant-tables
重启mysql
service mysqld restart 或 systemctl restart mysql.service 或 system restart mysqld
用户登陆并修改密码
mysql -u root -p
密码直接回车就行(因为第二步我们置空了用户的密码),然后修改用户的密码为你想要的
alter user 'root'@'localhost' identified by 'pwd1234#';
dbeaver连接远程mysql数据库报:public key retrieval is not allowed
修改驱动,将allowplublickeyretrieval设置为true
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论