作為乙個長期混跡在windows圈的小白,當拿到乙個新的linux伺服器時,有點手足無措的趕腳。但是萬事開頭難嘛,just do it!
下面記錄一下自己安裝各種軟體時遇到的坑。這一篇先講mysql
安裝環境:系統是 centos7.3 64位
1:mysql
通常軟體都安裝在 /usr/local下面
wget
#解壓tar
-zxvf mysql-5.6.33-linux-glibc2.5-x86_64.
tar
.gz
#複製解壓後的mysql目錄
cp
-r mysql-5.6.33-linux-glibc2.5-x86_64
/usr/local/mysql
#新增使用者組
groupadd mysql
#新增使用者mysql 到使用者組mysql
useradd
-g mysql mysql
#在mysql目錄下建立data目錄
mkdir
./data (不要忘記了有個點)
#把mysql目錄賦給mysql使用者
chown
-r mysql:mysql ./
#安裝.
/scripts/mysql_install_db
--user=mysql --datadir=
/usr/local/mysql/data
cp
support-files
/mysql
.server
/etc/init
.d
/mysqld
chmod
755
/etc/init
.d
/mysqld
cp
support-files
/my-default
.cnf
/etc/my
.cnf
#修改啟動指令碼
vi
/etc/init
.d
/mysqld
下面這幾行好像也要在etc/my.cnf裡面改?vi /etc/my.cnf ---20181227留
#修改項:
basedir=
/usr/local/mysql/
datadir=
/usr/local/mysql/data/
log-error = /usr/local/mysql/data/error.log
pid-file = /usr/local/mysql/data/mysql.pid
user = mysql
tmpdir = /tmp
#啟動服務
service mysqld start
#加入環境變數,編輯 /etc/profile,這樣可以在任何地方用mysql命令了
export
path=$path:
/usr/local/mysql/bin
source
/etc/profile
#測試連線
.
/mysql/bin/mysql
-uroot
#關閉mysql
service mysqld stop
#檢視執行狀態
service mysqld status
------------------------------分割線
遇到的問題:
先檢視下錯誤日誌,通常是許可權問題,或者是已經存在mysqld程序,或者是/etc/my.cnf的data配置節沒弄對,或者是開啟了selinux,centos系統,缺省會開啟selinux
開啟/etc/selinux/config,把selinux=enforcing改為selinux=disabled
但是我遇到了這個問題上面的方法都沒解決,後來發現是記憶體不足導致的。。窮人啊,沒招,只好加記憶體,再重啟,問題解決。。
2:sqlyog連線時,報1130錯誤,是由於沒有給遠端連線的使用者許可權問題
解決辦法:更改 『mysql』資料庫『user』表『host』項,從『localhost』改成『%』
use mysql;select 'host' from user where user='root';
update user set host = '%' where user ='root';
flush privileges;
\q其實這一句可以修改成這樣,
update user set host = '%' where host ='localhost';3:sqlyog連線時,修改root密碼
mysql> update user set password=password('newpassword') where user='root';
mysql> flush privileges;//記得要這句話,否則如果關閉先前的終端,又會出現原來的錯誤
mysql> \q
4:始化mysql資料庫提示缺少data:dumper模組
fatal error: please install the following perl modules before executing /usr/local/mysql/scripts/mysql_install_db:
解決方法 :安裝autoconf庫
命令:yum-y install autoconf //此包安裝時會安裝data:dumper模組
這篇博文參考了以下link。
5:com.mysql.jdbc.packettoobigexception: packet for query is too large
原因是mysql的max_allowed_packet設定過小引起的,我一開始設定的是1m,後來改為了20m
檢視目前配置
show variables like '%max_allowed_packet%';
可以編輯my.cnf來修改(windows下my.ini), vi /etc/my.cnf
在[mysqld]段或者mysql的server配置段進行修改。
max_allowed_packet = 20m
如果找不到my.cnf可以通過
mysql --help | grep my.cnf
去尋找my.cnf檔案.
6. can't connect to local mysql server through socket '***'
參考 解決方案:
修改「/etc/my.cnf」配置檔案,在配置檔案中新增「[client]」選項和「[mysql]」選項,並使用這兩個選項下的「socket」引數值,與「[mysqld]」選項下的「socket」引數值,指向的socket檔案路徑完全一致。如下:
[mysqld]
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/data/mysql.sock
[client]
default-character-set=utf8
socket=/usr/local/mysql/data/mysql.sock
[mysql]
default-character-set=utf8
socket=/usr/local/mysql/data/mysql.sock
修改完後,重啟mysqld服務,即可解決
7. installing mysql system tables..../bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: no such file or directory
yum install -y libaio
搞定8:執行.
/scripts/mysql_install_db
--user=mysql --datadir=
/usr/local/mysql/data
報錯-bash: ./mysql_install_db: /usr/bin/perl: bad interpreter: no such file or directory
解決辦法:yum -y install perl perl-devel
Linux安裝phpstudy開啟mysql
先進入根目錄 cd 然後輸入mysql 如果你看見 命令不存在 先找到一鍵安裝phpstudy目錄下面的mysql然後找到bin 系統缺省會查詢 usr bin下的命令,如果這個命令不在這個目錄下,當然會找不到命令,我們需要做的就是對映乙個鏈結到 usr bin目錄下,相當於建立乙個鏈結檔案。首先得...
linux各種壓縮軟體包安裝軟體
linux原始碼安裝 gz壓縮包解壓安裝 1.解壓 tar zxvf filename.tar.gz 以tar.gz的壓縮包舉例 2.切換到解壓後的目錄 3.準備編譯工作 在開始安裝服務之前,需要執行configure指令碼,會自動的對當前系統進行一系列的評估,如原始檔 軟體依賴庫 編譯器 彙編器 ...
linux下各種格式軟體包的安裝
從 或是在cd rom上找到的linux軟體包,大部分為rpm tar gz tgz bz bz2等格式。下面我們編介紹一下它們的安裝方法。一 rpm格式檔案的安裝 rpm 是redhat package manager redhat軟體包管理工具 的縮寫。現在主流的linux發行版本都採用了這一公...