ubuntu16.04编译安装mysql源码

关闭MySQL通过mysqladmin命令,
mysqladmin -uroot -p123456 shutdown

mysql 5.6 以前的版本都可以直接在-p后直接加上密码,如果不支持智能  mysqladmin -uroot -p shutdown 
然后再输入密码;需要注意的是,该命令执行有一定的延迟不是马上关闭;

启动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/
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值