应用的一次迁移,直接把这个mysql文件夹打包拿了过来,好久没操作了,折腾了好久才把整个库运行起来,记录下,以免下次重蹈覆辙
mysql备份迁移,mysql更换目录,mysql从一台服务器复制到另一台服务器
show variables like ‘%datadir%’;
service mysqld stop 或者 systemctl stop mysqld
一般在 /etc/my.cnf,修改 datadir 的值为你数据库移动的文件夹目录,我的目录为/opt/soft/mysql,我的my.cnf目录为/opt/soft/mysql/my.cnf
[mysqld]
port = 3306
socket = /tmp/mysql.3306.sock
basedir=/opt/soft/mysql/
datadir=/opt/soft/mysql/data
basedir=/opt/soft/mysql
datadir=/opt/soft/mysql/data
如果没有这个文件,cp /opt/soft/mysql/support-files/mysql.server /etc/init.d/mysqld
[yyq subsys]$ service mysqld start
Unit mysqld.service could not be found.
Starting MySQL…[ OK ]
[yyq subsys]$
这里根据情况确定是否保留数据库,保留直接永久性,不保留就可以把原先的文件删除了
6.删除新的数据库文件夹下的2个文件:ib_logfile0 和 ib_logfile0(不删除启动会报错) (这是某文章写得,我这没报错,有报错可以删除)
7.chown -R 新建数据库目录 mysql:mysql (授权 mysql 该数据库目录)(这是赋权,我这里没有创建mysql用户,直接用的当前用户,不影响,如果有,需要赋权)
没找到具体解决方案,我这好像不影响,影响再说……
MySQL问题-Unit mysqld.service could not be found.
删除/var/lock/subsys/mysql 下的mysql文件即可
参考链接:
ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql) exists
[yyq subsys]$ mysql -uroot -p
bash: mysql: command not found…
[yyq subsys]$ ln -s /opt/soft/mysql/bin/mysql /usr/bin
ln: failed to create symbolic link ‘/usr/bin/mysql’: Permission denied
[yyq subsys]$ exit
exit
[root subsys]# ln -s /opt/soft/mysql/bin/mysql /usr/bin
原因:权限777,任何一个用户都可以改my.cnf,存在很大的安全隐患.
解决方法:授权644权限 chmod 644 /etc/my.cnf,重启mysql服务
参考链接:
Linux系统MySQL开启远程连接Warning: World-writable config file ‘/etc/my.cnf’ is ignored
[yyq subsys]$ mysql -uroot -p
Enter password:
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)
[yyq subsys]$ cd /tmp/
[yyq tmp]$ exit
exit
[root@iaas92824-Computer subsys]# ln -s /tmp/mysql.3306.sock /tmp/mysql.sock
这个其实是我的my.cnf配置的socket存在问题 socket=/tmp/mysql.3306.sock
此处我建了个软连接解决的,其实该这里直接改下
参考链接:
MySQL数据库如何移动
【MySQL】centos7.6安装mysql5.7
菜鸟-MySQL 安装
MySQL移动数据库位置
MySql 报错ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)