在linux上用的是xampp,mysql启动没有报任何错误,但就是查找不到进程,于是找mysql错误日志,日志在哪?在lampp/var/mysql 以.err结尾的文件里。里面内容如下;
/opt/lampp/sbin/mysqld: Can't create/write to file '/tmp/ibvSSzKE' (Errcode: 13 - Permission denied)
2015-10-16 12:08:01 b720b700 InnoDB: Error: unable to create temporary file; errno: 13
原来是/tmp目录没有写的权限,改下权限就行了。
关于xampp在linux下配置,可以看
Mysql 於lampp xampp LinuxUbuntu下的配置
http://my.oschina.net/code33/blog/299242?p=1
lampp下的mysql配置文件路径:
/opt/lampp/etc/my.cnf
1 配置默认字符集
於mysqld项下添加
character-set-server=utf8
init_connect ='SET NAMES utf8'
於client项下添加
default-character-set =utf8
酱紫就ok了,尝试着用jetbrains自带的数据连接工具insert一条中文数据尝试一下吧,看看能否正常插入中文UTF8字符数据
2修改默认允许执行最大的sql脚本size
为什么要设置这个项目?
若有一个sql脚本大于了默认值就卡住无法执行下去了
同样是my.cnf
项:mysqld和mysqldump下
max_allowed_packet=500M
设置即可
3迁移默认数据库文件夹路径
刚刚装好的lampp mysql其路径是在/opt下的,也就是系统文件夹下,我们需要把它迁移到指定的专用数据库文件夹
先把默认文件夹拷贝
1
|
sudo cp -rp /opt/var/mysql /home/xx |
然后修改my.cnf中的设置项
client项sock链接文件
sock=/home/xx/mysql/mysql.sock
mysqld项sock链接文件
sock=/home/xx/mysql/mysql.sock
添加数据文件夹变量於 plugin_dir变量下一行
datadir=/home/xx/mysql
完成数据库文档路径迁移;
4 建立linux mysql 客户端链接命令配置
1
|
sudo apt-get install -y mysql-client-core-5.5 |
安装好以后配置sock链接
删除原系统mysql命令路径
1
|
sudo rm -rf /var/run/mysqld |
重建文件夹
1
|
sudo mkdir /var/run/mysqld |
重建软连接
1
|
sudo ln -s /home/xx/mysql/mysql .sock /var/run/mysqld/mysqld .sock |
然后在命令行下 直接试一试 mysql命令吧
5 设置innodb的共享文件索引表自增空间
若不设置,也会导致各种莫名其妙的ibdata1 的启动报错
my.cnf设置
innodb_data_home_dir=/home/xx/mysql
innodb_data_file_path=ibdata1:5000M;ibdata2:5000M;ibdata3:1000M;ibdata4:1000M:autoextend:max:5000M
实际开发中此项不需要做修改
这里的意思是每次自增的表空间1000M ,但是最大值是5000M ,可以根据自己实际的磁盘空间来设置,最低值最好不要使用默认的10M 不然实际生产环境中使用很容易出故障
到这里算是告一段落
欢迎转载 并附上原创 谢谢
6lampp的启动mysql启动项命令
启动mysql
找到 startMySQL() 函数
if testrun "$XAMPP_ROOT/var/mysql/$(hostname).pid" mysqld
将其注释
替换成
if testrun "/home/xx/mysql/$(hostname).pid" mysqld
关闭mysql
找到stopMySQL()函数
注释if ! test -f "$XAMPP_ROOT/var/mysql/$(hostname).pid"
替换成
if ! test -f "/home/xx/mysql/$(hostname).pid"
7 修改启动脚本
1
|
sudo gedit /opt/lampp/bin/mysql .server |
找到datadir=
添加变量值
datadir= /home/xx/mysql
找到
注释lock_file_path="$lockdir/mysql"
替换成
lock_file_path="/home/xx/mysql"