起因
最开始是因为出差要跑公司的项目,为了省事在笔记本上装了Docker Desktop for Windows和docker版本的mysql,因为docker依赖hyper-v虚拟化,所以我就把他打开了。
然后。。。我就发现,mumu模拟器居然不支持在开启hyper-v环境下启动,(╯‵□′)╯︵┻━┻,于是我几番折腾,找到了BlueStacks Hyper-V(测试版本)!
当时我非常开心,以为终于找到了解决方案,于是开始安装FGO,运行,闪退。。。运行,闪退。。。。(╯‵□′)╯︵┻━┻
无果,"[docker] 一遍、死んで见る",docker 卒!
vagrant搞起!谁也阻挡不了我玩FGO,现在可是无限池!!!
开始安装吧!はじまるよ
sudo apt install mysql-server
# 记得做好备份
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
# 示例如下
[mysqld]
skip-grant-tables
lower_case_table_names=1
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
datadir = /var/lib/mysql
bind-address = 0.0.0.0
mysqlx-bind-address = 0.0.0.0
key_buffer_size = 16M
myisam-recover-options = BACKUP
log_error = /var/log/mysql/error.log
max_binlog_size = 100M
重启mysql服务
sudo service mysql restart
登录mysql,将root用户密码重置为空
mysql -u root
# 登录mysql后
use mysql
update user set authentication_string='',host='%' where User='root';
update user set plugin="mysql_native_password";
flush privileges;
exit
修改配置文件后,重启服务
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
[mysqld]
# skip-grant-tables 修改这一行就行
sudo service mysql restart
登录mysql
mysql -u root -p
# 这时候依旧不需要输入密码,直接回车,接下来要设置密码了
alter user 'root'@'%' identified by 'NewP@ssword';
flush privileges;
exit
# 再登录就需要输入密码了
mysql -u root -p
show databases;
# 如果到这里一切正常,那就没什么问题了
# 如果提示 The user specified as a definer ('mysql.infoschema'@'localhost') does not exist
# 请尝试执行一下操作
mysql -u root -p
update user set plugin = 'caching_sha2_password' where user='mysql.sys' or user='mysql.infoschema';
exit
结语
安装的过程中折腾了好几次吧,不知道为啥我用sudo居然不能启动mysql服务,必须使用root用户,就很奇怪,估计和vagrant环境有关,也懒得处理这个问题了。希望能帮助到其他学习的小伙伴,帮不上别人就权当笔记了,毕竟是我2020年下半年第一篇blog XD!