为啥我在linux系统下初始化mysql后,datadir下面只有一个mysql目录,没有tes
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥我在linux系统下初始化mysql后,datadir下面只有一个mysql目录,没有tes相关的知识,希望对你有一定的参考价值。
为什么我在linux系统下初始化mysql后,datadir下面只有一个mysql目录,没有test目录?
参考技术A 权限问题。,copy份给你!1.首先要运行一下
比如说我的mysql安装在/opt/mysql下面
#cd
/opt/mysql
#scripts/mysql_install_db
--user=mysql
(确认你有mysql用户)
如果不行,检查你的/opt/mysql(这是我的)下面有没有data目录,正确的做法是先启动一次如果OK,再移data目录到别的地方。
两个方法解决
1.如果你没有修改过my.cnf文件,请修改,然后把添加datadir
[mysqld]
port
=
3306
socket
=
/tmp/mysql.sock
datadir
=
/data/mysql/data
这时候,你在/opt/mysql下面建一个软链接到/etc/my.cnf
#cd
/opt/mysql
#ln
-sf
/etc/my.cnf
my.cnf
2.或者你在/opt/mysql下面建一个data的软链接
#cd
/opt/mysql
#ln
-sf
/data/mysql/data
data
如果还不行,你就得查看你已经注册成服务的mysqld
#cd
/etc/init.d/
#vim
mysqld
一般的默认是安装在/usr/local下面的,所以你要修改这个目录的名称及指向。
再不行,你得查一下
/opt/mysql/data/localhost.err文件报什么错。
再按错误来解决。
我之前是少了一个libstdc++.so.5的库,从别的地方copy了一个就OK了
正确流程如下:
#cd
/opt/mysql
#scripts/mysql_install_db
--user=mysql
成功
#cd
.;./bin/mysqld_safe
&
//这是运行一个demo
查一下进程树
#ps
aux
|
grep
mysql
//如果有就可以运行
/opt/mysql/support-files/mysql.server
start
//修改一下mysql.server文件,这个脚本文件其实就是init.d/mysqld文件,默认路径在/usr/local下面
成功了就可以用了
/opt/mysql/bin/mysql
愿你早日解决些事。
记得权限的问题,--user=mysql来启动创建初始化table,你的data目录要有写权限。
以上是关于为啥我在linux系统下初始化mysql后,datadir下面只有一个mysql目录,没有tes的主要内容,如果未能解决你的问题,请参考以下文章
为啥当我在 mysql 中调用 STORED PROCEDURE 时 pdo->lastInsertId() 返回 0?