这条命令是怎么来的 ? 仔细查看安装 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哈哈~