ubuntu16.04编译安装mysql源码
啟動mysql出錯:Can’t find messagefile '/usr/share/mysql/errmsg.sys
http://www.phpfensi.com/mysql/20150417/9386.html?wopktu=e2oqz1
ubuntu16.04編譯安裝mysql源碼:
https://blog.csdn.net/Touatou/article/details/79601104
CentOS 7.2使用源碼包編譯安裝MySQL 5.7.22及一些操作:
https://blog.csdn.net/sssssscccccc/article/details/80919826
MySQL 5.7.19 編譯安裝與配置:
https://blog.csdn.net/zhaosiwenzhaosiwen/article/details/82818324
虛擬機安裝:VirtualBox-5.2.0-118431-Win.exe,下載地址: http://cn.ubuntu.com/download/
1.?Ubuntu iso映像下載:https://cn.ubuntu.com/download/
注意:內存最好分配2G,2個處理器,顯存32MB,硬盤空間30G以上不然不夠用。
?
2.?所需依賴和軟件: ?
apt-get install build-essential??(修改為sudo apt-get install build-essential)
apt-get install wget????(修改為sudo apt-get install wget)
apt-get install bison?????(修改為sudo apt-get install bison)
apt-get install lrzsz?????(修改為sudo apt-get install lrzsz)
apt-get install vim ??(修改為sudo apt-get install vim)(如果出現不能安裝問題:rm /var/lib/dpkg/lock-f)
apt-get install libncurses5-dev
?
3.?下載boost_1_59_0(必須是這個版本),下載地址:https://sourceforge.net/projects/boost/files/boost/1.59.0/
提示:本過程較長,請耐心等待。。。
?
4.?最新發行版cmake-3.9.4,下載地址:?https://cmake.org/download/
5.?和mysql-5.7.19源碼,下載地址:?https://downloads.mysql.com/archives/community/
?
6.?boost_1_59_0操作:假如下載到/usr/local/src目錄下
進入目錄cd?/usr/local/src
然后解壓tar -xzvf ?boost_1_59_0.tar.gz
進入boost:cd boost_1_59_0
進行配置:./bootstrap.sh
編譯:./b2
安裝:./b2 install?(修改為sudo ./b2 install)
?
測試boost是否安裝成功:
在linux下任意目錄下創建test.cpp
寫入如下代碼:
#include<iostream>
#include<boost/lexical_cast.hpp>
int main()
{
?? int a = boost::lexical_cast<int>("123456");
?? std::cout << a <<std::endl;
?? return 0;
}
運行命令:
?? #? g++ test.cpp -o test
?? #? ./test
將得到輸出結果為:123456,代表boost安裝成功。
?
6. ??cmake操作:依然下載到/usr/local/src目錄下,cd /usr/local/src。
解壓:tar -xzvf cmake-3.8.0.tar.gz。
進入cmake目錄:cd ?cmake-3.8.0
進行配置:./bootstrap
編譯:make
安裝:make?install?(修改為sudo make install)
?
7.?添加mysql用戶和所屬組:
/usr/sbin/groupadd mysql??(修改為:sudo /usr/sbin/groupadd mysql)
/usr/sbin/useradd -g mysql mysql?(修改為:sudo /usr/sbin/useradd -g mysql mysql)
?
創建mysql安裝目錄和數據目錄:
mkdir /home/lu/software_new/mysql??(修改為:sudo mkdir /home/lu/software_new/mysql?)
mkdir /home/lu/software_new/mysql/data?(修改為:sudo mkdir /home/lu/software_new/mysql/data)
?
修改mysql目錄所有者:
chown -R mysql:mysql?/home/lu/software_new/mysql
(修改為:sudo chown -R mysql:mysql?/home/lu/software_new/mysql)
?
8.?獲取mysql源碼包:還在/home/lu/software_new/目錄下
解壓:
tar -xzvf mysql-5.7.19.tar.gz
進入mysql目錄:
cd?mysql-5.7.19
cmake編譯配置:(此處是dbug版本的)
cmake . -DWITH_DEBUG=on -DCMAKE_INSTALL_PREFIX=/home/lu/software_new/mysql -DMYSQL_DATADIR=/home/lu/software_new/mysql/data -DWITH_BOOST=/home/lu/software/boost_1_59_0
(下面這種編譯出來的文件會小很多(非DEBUG))
cmake -DCMAKE_BUILD_TYPE=release -DCMAKE_INSTALL_PREFIX=/home/lu/software_new/mysql -DMYSQL_DATADIR=/home/lu/software_new/mysql/data -DWITH_BOOST=/home/lu/software/boost_1_59_0
?
編譯:
sudo make
安裝:
sudo make install
?
如果只是編譯源碼,得到mysqld的話,只需要到此步就可以了!!!
?9. 到mysql的安裝目錄bin下,初始化數據庫,一旦初始化出錯,要刪掉mysql/data文件夾內的內容重新初始化
cd /usr/local/mysql/bin
sudo ./mysqld --initialize --user=mysql?--datadir=/usr/local/mysql/data/?--basedir=?/usr/local/mysql?--socket=/usr/local/mysql/mysql.sock??(提示:這里一定要一行都敲完)
運行后最后一句[note]?生成了一個mysql默認密碼,復制到一個地方,保存下來。
?
10. 添加mysql服務,拷貝mysql配置文件
回到mysql安裝目錄 cd ..
進入support-files目錄 cd support-files
復制啟動文件 sudo cp -a mysql.server /etc/init.d/mysql
?
11.?啟動mysql(以root用戶身份)
service mysql start
注:目前的環境搭建過程中,該命令執行失敗,可行的做法是執行
./mysqld --defaults-file=/home/m201873306/software_new/my.cnf但是有時候會提示某文件應該是可寫的,因此目前的可解決方案是:
sudo chmod -R 777 /home/m201873306/software_new?
12.?設置開機自啟:(以root用戶身份)
Systemctl enable mysql??(修改為update-rc.d mysql defaults)
(關閉開機自啟動:update-rc.d -f mysql remove)
?
13. 登錄mysql
到mysql安裝目錄的bin下 cd bin
./mysql -uroot -p
Enter password: ? ? ? ? ? ?//輸入之前保存的默認密碼
?
14. 修改root密碼
SET PASSWORD = PASSWORD('123456');
刷新mysql的系統權限相關表
flush privileges;
退出mysql:quit
?
另外需要連接xshell的:sudo apt-get install ssh
apt-get install openssh-server
vim /etc/ssh/sshd_config ???修改permitrootlogin:yes
在家目錄下 ifconfig 記住inet addr
在xshell上新建連接
?
Ubuntu vim 小配置:
?
安裝工具cscope步驟:
1.?./configure
2.?make
3. make install
?
接下來,安裝調試工具:(可以參考eclipse調試mysql源碼)
Eclipse IDE for C/C++ Developers: https://www.eclipse.org/downloads/eclipse-packages/
提示:eclipse依賴jdk環境,必須先安裝jdk。
新建項目file->new->make file project with existing code
Browse 選擇cmake后mysql 的路徑,右下角進度條顯示文件導入進度。
?
?
[mysqld] port=3306 datadir=/home/lu/software_new/mysql/data socket=/home/lu/software_new/mysql/mysql.sock basedir=/home/lu/software_new/mysql/ language = /home/lu/software_new/mysql/share/english #此處為language配置項 [mysqld_safe] log-error=/home/lu/software_new/mysql/logs/mysqld.log pid-file=/home/lu/software_new/mysql/pids/mysqld.pid# Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 # Settings user and group are ignored when systemd is used. # If you need to run mysqld under a different user or group, # customize your systemd unit file for mariadb according to the # instructions in http://fedoraproject.org/wiki/Systemd[client] default-character-set=utf8 socket=/home/lu/software_new/mysql/mysql.sock [mysql] default-character-set=utf8 socket=/home/lu/software_new/mysql/mysql.sock# # include all files from the config directory # !includedir /etc/mysql/conf.d/總結
以上是生活随笔為你收集整理的ubuntu16.04编译安装mysql源码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql源码解读——事务管理
- 下一篇: 原画学习步骤,零基础一步步学原画!