在符号 link 之后:错误 2002 (HY000):无法通过套接字 '/tmp/mysql.sock' 连接到本地 MySQL 服务器 (2)
After symbolic link: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
对于 vag运行t 盒子,我创建了一个 bootstrap 脚本,使我的 mysql 数据持久化。 运行 通过具有特权权限的配置程序 shell 脚本。
基本上脚本从 /var/lib/mysql -> /vagrant/mysqldata 创建一个符号
/vag运行t 文件夹已安装到主机系统,因此在创建此符号 link 后,mysql 中的所有数据都会重新出现
if [ ! -L /var/lib/mysql ] ; then
sudo service mysql stop
sudo mv /var/lib/mysql /var/lib/mysql-old
sudo ln -s /vagrant/mysqldata /var/lib/mysql
sudo echo "alias /var/lib/mysql/ -> /vagrant/mysqldata/," >> /etc/apparmor.d/tunables/alias
sudo service apparmor reload
sudo service mysql start
fi
问题是,在我 运行 这个脚本之后我 运行 vagrant reload --provision
它总是失败并显示错误:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
但是,如果我通过 ssh 进入 vag运行t 并手动启动 mysql,它就可以工作。我不确定这里有什么问题。
正如您在脚本中看到的那样,它将旧的 mysql 数据文件夹重命名为 mysql-old,我将其重新设置后它又可以工作了。所以它与那个 symlink.
有关
正如 Bill Karwin 评论的那样,我将 persistent storage plugin 用于 vagrant,这正是我想要的。
对于 vag运行t 盒子,我创建了一个 bootstrap 脚本,使我的 mysql 数据持久化。 运行 通过具有特权权限的配置程序 shell 脚本。
基本上脚本从 /var/lib/mysql -> /vagrant/mysqldata 创建一个符号 /vag运行t 文件夹已安装到主机系统,因此在创建此符号 link 后,mysql 中的所有数据都会重新出现
if [ ! -L /var/lib/mysql ] ; then
sudo service mysql stop
sudo mv /var/lib/mysql /var/lib/mysql-old
sudo ln -s /vagrant/mysqldata /var/lib/mysql
sudo echo "alias /var/lib/mysql/ -> /vagrant/mysqldata/," >> /etc/apparmor.d/tunables/alias
sudo service apparmor reload
sudo service mysql start
fi
问题是,在我 运行 这个脚本之后我 运行 vagrant reload --provision
它总是失败并显示错误:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
但是,如果我通过 ssh 进入 vag运行t 并手动启动 mysql,它就可以工作。我不确定这里有什么问题。
正如您在脚本中看到的那样,它将旧的 mysql 数据文件夹重命名为 mysql-old,我将其重新设置后它又可以工作了。所以它与那个 symlink.
有关正如 Bill Karwin 评论的那样,我将 persistent storage plugin 用于 vagrant,这正是我想要的。