Manjaro安装Mysql8.0(血泪篇)

第一步: 更新源

  • 更新软件仓库,也就是换源
sudo pacman-mirrors -i -c China -m rank         //选择合适的源,安装的时候不报错即可(有些源安装的时候会出错)
sudo pacman -Syy                                //刷新
  • 查看软件仓库 MySQL 版本如下
pacman -Si mysql								

在这里插入图片描述

第二步: 安装 MySQL

  • 安装命令如下:
sudo pacman -S mysql
  • 安装成功之后, 会看到如下提示
    在这里插入图片描述在这里插入图片描述

第三步: 初始化MYSQL

  • 初始化代码如下:
sudo mysqld --initialize --user=mysql --basedir=/usr --datadir=/var/lib/mysql

这条命令是怎么来的 ? 仔细查看安装 MySQL 的输出信息

执行结果如下:
在这里插入图片描述

  • 接下来一个问题一个问题解决
问题一:

在这里插入图片描述
解决方法如下:
这个警告的大概意思就是utf是UTF8MB4的别名,UTF8MB4是在以后的版本要使用的,需要更改一下字符设置
因此输入参数,进行设置

sudo mysqld --initialize --user=mysql --basedir=/usr --datadir=/var/lib/mysql --character-set-server=UTF8MB4

成功解决,接着往下走

问题二:

在这里插入图片描述
因为权限错误不能够打开文件/var/log/mysqld.log’
解决方法如下:
进入这个目录直接

sudo touch mysqld.log        //建立该文件
sudo chmod 777 mysqld.log    //更改权限

更改之后,再次运行上面代码
在这里插入图片描述
什么都没有输出,当时一阵失望,然后突然想起来报告即log文件,打开mysqld.log
在这里插入图片描述
发现有输出,初始化完成,打马赛克的部分是你的密码
用户名即前面部分root@localhost
接下来启动mysql

sudo systemctl start mysqld.service

查看mysqld状态

systemctl status mysqld.service

在这里插入图片描述
黄色部分为running ,成功运行

问题三:

然后我查看了以下日志,也就是上面创建的mysqld.log,发现错误
在这里插入图片描述
解决方法如下:
将/etc/my.cnf文件下的basedir注释掉,查找资料在这

问题四:

又发生错误
在这里插入图片描述
查了好多资料,找到了一篇,
解决方法如下:
在这里插入图片描述
去掉箭头这个值,即可运行
如果想设置为开机启动,(建议设置,否则你每次都得手动启动,并且yunx)

sudo systemctl enable mysqld.service

然后输入

mysql -uroot -p
问题五:

在这里插入图片描述
出现如下错误,不能生成该文件
解决方法如下:
进入/var/run/mysqld 你会发现有一个mysqld.sock文件与mysql.sock不同,那这个到底能用吗?运行以下试试

mysql -uroot -p -S /var/run/mysqld/mysqld.sock

输入密码之后,成功进入,那这个就是可以用的,只需要一个软连接到/tmp/mysql.sock即可

sudo ln -s /run/mysqld/mysqld.sock /tmp/mysql.sock

再次输入

mysql -uroot -p

输入密码即可
在这里插入图片描述

问题六:

输入mysqld,出现以下错误
在这里插入图片描述
解决方法如下:
进入该目录下修改此文件夹权限

sudo chmod 777 mysql

再次输入mysqld启动,即可成功。

参考文章有:
第一篇
第二篇


问题七:

后记,上面安装完之后,我就关机了,等到再一次打开电脑,Oh my god!
又报错了,还是这个错误,我又按照之前的来了一遍,又可以使了,再重启以下,凉凉。
在这里插入图片描述
发现问题在于,还记得软连接的位置在/run/mysqld/mysqld.sock,关闭mysqld.server的时候,该文件夹就已经消失了,软链接也消失了,所以每次都得创建。
解决方法如下:
进入/etc/my.cnf
在这里插入图片描述
将socket目录直接改到/run/mysqld/mysqld.sock,此目录下,不用软连接了,然后运行,成功!

问题八:

安装之后配置
首先尝试修改密码

alter user 'root'@'localhost' identified with mysql_native_password by 'xxx'

by后面就是你设置的新密码
然后又报错了
在这里插入图片描述
这时,我想起来/etc/my.cnf文件下,使用了这个参数,意思就是跳过密码登录。
解决方法:
进入该文件,屏蔽该参数,
然后回头用密码进入mysql,密码在/var/log/mysqld.log文件下,上面讲过。
然后登录之后再次输入上面命令即可.


终于大功告成了,
哎,一把辛酸泪啊,Manjaro都是这么麻烦吗?
最后希望能帮到你们吧,快速趟过此坑。O(∩_∩)O哈哈~

发布了46 篇原创文章 · 获赞 75 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/UNIONDONG/article/details/98392738
今日推荐