標籤:
在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"
記一次mysql啟動不了尋找經曆