1、首先到官网下载rpm包
MySQL :: Download MySQL Yum Repository
我直接下载的第一个8.0
2、把它上传到服务器
这一步可以用rz命令,没下载过的可以用这个命令安装
yum install -y lrzsz
我是直接用vscode把文件拖上去的,具体怎么用vscode连接可以看我另一个文章
3、然后运用rpm包,
这一步有坑,8.0的版本跟以前的不一样,好像名字变不同了,安装列出来的文件就好了
yum install -y mysql80-community-release-el8-3.noarch.rpm
yum list mysql
yum install -y mysql.x86_64
4、然后我发现现在启动不了服务
5、看了一下我又去安装了mysql-server
yum update #可能需要更新一下库
yum install mysql-server
然后点两下y确认安装
6、然后就成功了,我们初始化一下
mysqld --initialize
7、这时候尝试启动会失败
systemctl start mysqld
8、给予权限
chown mysql:mysql -R /var/lib/mysql
之后就启动成功了
9、但是这时候它会生成一个随机密码,我也不知道为什么会没提示密码是多少
输入以下命令可以进入mysql
mysql -u root -p
但是会提示 Access denied for user 'root'@'localhost' (using password: NO)
10、这时候就要去找到他自动生成的密码
然后这个密码的位置好像跟以前版本的位置不同,我看很多其他博客都错了
我这里的位置是在
vim /var/log/mysql/mysqld.log
然后找到一条生成密码的日志,类似下面这样
最后那串就是密码了
11、然后重新输入mysql -u root -p再输入这串密码就可以进入mysql
进去之后输入
#选择数据库
use mysql
#修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
这里的“你的密码”就是要修改的密码。可能要求符号大写字母搭配啥的,但不知道为什么我不用,就没管了。
12、之后退出去重进会发现已经生效了
13、使用navicat连接云服务器的mysql
①首先我用的是阿里云,要先在防火墙那里打开mysql端口
②新建连接
连接名随便写,主机要写服务器的ip地址,下面的用户名和密码对应数据库的用户名密码
③然后是现在直接连会出现
host xxx is not allowed to connect to this MYSQL Server
这时候要打开服务器的mysql输入以下命令将host设置为通配符%
mysql -u root -p
use mysq;
update user set host = "%" where user = 'root';
完成这个操作后重启一下mysql
service mysqld restart
14、之后就完成啦
15、之后不知道咋的又出问题了
重启服务出现报错:Failed to add /run/systemd/ask-password to directory watch: No space left on device
我看了下阿里云控制台好像没啥问题,最后的解决方法是
echo 1048576 > /proc/sys/fs/inotify/max_user_watches
16、没想到可能突然断网了还是咋的mysql又启动不了了
最后参考了这位老哥删库跑路直接搞定了,各位慎重哈哈
rm -rf /var/lib/mysql/*