Debian7.8源碼安裝MySQL5.7

sudo apt-get install g++ gdb libncurses5-dev cmake make chkconfig libpcre+* zlib1g* libssl1.0.0 libssl-dev grep // 安裝環境
sudo groupadd mysql //創建mysql組
sudo useradd -r -g mysql mysql //創建mysql用戶並加入組
sudo mkdir /usr/local/mysql //創建mysql配置文件目錄
sudo chown -R root:mysql /usr/local/mysql //更改屬組和屬主
sudo mkdir /usr/local/mysql/data //創建mysql數據庫目錄
sudo chown -R mysql:mysql /usr/local/mysql/data //更改屬組和屬主爲mysql
sudo tar zxf mysql-boost-5.7.12.tar.gz -C /usr/local/mysql/ //解壓mysql軟件包
cd /usr/local/mysql/mysql-5.7.12/ //切換目錄
sudo \
cmake . \ //編譯安裝
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ //指定mysql主目錄
-DINSTALL_DATADIR=/usr/local/mysql/data \ //指定mysql數據庫目錄
-DDEFAULT_CHARSET=utf8 \ //指定字符集
-DDEFAULT_COLLATION=utf8_general_ci \ //校驗字符
-DEXTRA_CHARSETS=all \ //安裝所有擴展字符集
-DENABLED_LOCAL_INFILE=1 \ //允許從本地導入數據
-DDOWNLOAD_BOOST=1 \ //開啓boost PS:Debian7以後都需要指點boost文件
-DWITH_BOOST=/usr/local/mysql/mysql-5.7.12/boost/boost_1_59_0 \ //指定boost所在路徑
&& make && make install

sudo ./mysql_install_db –user=mysql –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data //初始化
ls ../data/
data文件
./mysqld_safe –user=mysql –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data //開啓mysql服務

netstat -anpt | grep mysql //查看MySQL是否正常啓動
sudo ps -e | grep mysql //查看MySQL是否正常啓動
sudo ps -aux | grep mysql //查看MySQL是否正常啓動
查看MySQL是否正常啓動
sudo ln -s /usr/local/mysql/bin/* /usr/local/bin/ //創建軟連接
sudo ln -s /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf //創建軟連接
sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql //複製配置文件
sudo chkconfig –add mysqld //添加mysql進入系統服務且在所有運行級別中都開啓
sudo service mysqld restart //重新啓動服務
netstat -anpt | grep mysqld
PS:常見的幾種報錯情況
● 提示Mysql服務器無法找到PID文件
丟失pid
● 1.可能是/usr/local/mysql/data/rekfan.pid文件沒有寫的權限
解決方法 :給予權限,執行 “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data” 然後重新啓動mysqld!
● 2.可能進程裏已經存在mysql進程
解決方法:用命令“ps -ef|grep mysqld”查看是否有mysqld進程,如果有使用“kill -9 進程號”殺死,然後重新啓動mysqld!
● 3.可能是第二次在機器上安裝mysql,有殘餘數據影響了服務的啓動。
解決方法:去mysql的數據目錄/data看看,如果存在mysql-bin.index,就趕快把它刪除掉吧,它就是罪魁禍首了。本人就是使用第三條方法解決的 !http://blog.rekfan.com/?p=186
● 4.mysql在啓動時沒有指定配置文件時會使用/etc/my.cnf配置文件,請打開這個文件查看在[mysqld]節下有沒有指定數據目錄(datadir)。
解決方法:請在[mysqld]下設置這一行:datadir = /usr/local/mysql/data
● 5.skip-federated字段問題
解決方法:檢查一下/etc/my.cnf文件中有沒有沒被註釋掉的skip-federated字段,如果有就立即註釋掉吧。
● 6.錯誤日誌目錄不存在
解決方法:使用“chown” “chmod”命令賦予mysql所有者及權限
● 7.selinux惹的禍,如果是centos系統,默認會開啓selinux
解決方法:關閉它,打開/etc/selinux/config,把SELINUX=enforcing改爲SELINUX=disabled後存盤退出重啓機器試試。
sudo vim /etc/my.cnf //破解密碼
修改 /etc/my.cnf,在最後添加一行
skip-grant-tables=1

sudo service restart mysql
sudo mysql -u root
update user set authentication_string = password(‘123’), password_expired = ‘N’, password_last_changed = now() where user = ‘root’;
退出 mysql,編輯 /etc/my.cnf 文件,刪除或註銷skip-grant-tables=1 的內容
重啓 mysqld 服務,再用新密碼登錄即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章