Ubuntu12.04 源码编译安装MySQL

      首先,ubuntu下有几种安装MySQL的方式,apt-get,官网下载deb文件或者源码包安装,这三种里面,apt-get最快最方便,一切配置搞定了,自己剩下需要做的就是启动MySQL吧,不过这种方式呢就是无法控制软件版本,很有可能安装的不是自己想要的版本。第二种方式,下载deb安装,这个是一种二进制文件,类似的还有RPM文件,在文件中已经包含了编译完成的文件,我们只需要直接安装在自己的系统中就可以了;第三种方式,则是下载源码包,自己编译得到二进制文件再进行安装,这个也就是今天要说的编译安装方式。

       下面是网上对源码安装和二进制文件安装的区别说明:

源码安装
与二进制发行版本相比,如果我们选择了通过源代码进行安装,那么在安装过程中我们能够对MySQL
所做的调整将会更多更灵活一些。因为通过源代码编译我们可以:
a) 针对自己的硬件平台选用合适的编译器来优化编译后的二进制代码;
b) 根据不同的软件平台环境调整相关的编译参数;
c) 针对我们特定应用场景选择需要什么组件不需要什么组件;
d) 根据我们的所需要存储的数据内容选择只安装我们需要的字符集;
e) 同一台主机上面可以安装多个MySQL;
f) 等等其他一些可以根据特定应用场景所作的各种调整。
在源码安装给我们带来更大灵活性的同时,同样也给我们带来了可能引入的隐患:
a) 对编译参数的不够了解造成编译参数使用不当可能使编译出来的二进制代码不够稳定;
b) 对自己的应用环境把握失误而使用的优化参数可能反而使系统性能更差;
c) 还有一个并不能称之为隐患的小问题就是源码编译安装将使安装部署过程更为复杂,所花费的时间更长;

      从上面看来,对MySQL只是一般需求的,还是通过二进制文件安装把,免得引起不必要的麻烦。本人对编译安装过程中的一直参数也不是很熟悉,因此本安装过程中的参数也是网上较为通用的参数。

   下面说明编译安装的过程:

(1)如果之前安装过的,先删除

sudo apt-get autoremove --purge mysql-server-5.0
sudo apt-get remove mysql-server
sudo apt-get autoremove mysql-server
sudo apt-get remove mysql-common (如果mysql Cpp连接要用的,就不删)
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
(2)现在MySQL编译是要用CMake来完成,安装

sudo apt-get install cmake    //安装cmake
(3)配置编译参数
cmake -DCMAKE_INSTALL_PREFIX=~/mysql-5.6.19 -DMYSQL_DATADIR=~/mysql-5.6.19/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1

如果失败了,执行以下语句

sudo apt-get install libssl-dev libncurses5-dev

并且清除一些东西,再重新cmake

make clean
rm -f CMakeCache.txt
(4)cmake成功后进行安装

Make
Make install

(5)初始化数据库:(这里没有新建mysql用户,就在原来的用户(oracle)下)

chmod 777 scripts/mysql_install_db
scripts/mysql_install_db  --basedir=/opt/oracle/mysql-5.6.19  --datadir=/opt/oracle/mysql-5.6.19/data/  --user=oracle 

(6)将mysql文件夹下所有文件所属组和拥有者设为当前用户

chown oracle:oracle * -R
(7)复制启动脚本

sudo cp support-files/mysql.server /etc/init.d/mysql
sudo chmod 777 /etc/init.d/mysql
(8)启动mysql,加入path路径,再新建root密码

service mysql start
mysqladmin -u root password
(9)设置mysql开机启动:

修改my.cnf,在[mysqld]区块下添加“user=oracle”这样一行,执行 sudo update-rc.d -f mysql defaults

(10)配置不会中文乱码

 vi /etc/my.cnf     
[client]里面加入
default-character-set=utf8
[mysqld]里面加入
character_set_server=utf8
(11)配置表名不区分大小写
[mysqld]里面加入
lower_case_table_names=1
(12) 设置mysql可以远程连接

mysql>GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY "XXXXXX" WITH GRANT OPTION;
(root表示用户,XXXXX表示密码,自己修改!!!)
Mysql>flush privileges;
vim /etc/mysql/my.cnf找到bind-address = 127.0.0.1注释掉  (本来就没有的话就算了)
或者改为: bind-address = 0.0.0.0

(13) 配置最大连接数和最大包长度

max_allowed_packet=16M
max_connections=1500

      好,到这里应该可以正常使用MySQL了,上述编译过程中没有考虑怎么对其进行优化,这个需要查些资料,以后再来补充了。先附上看到的一篇文章,关于优化编译安装的: http://blog.csdn.net/bing19880122/article/details/5830650 ,另外,附上一篇对mysql配置进行优化的文章: http://blog.csdn.net/zouhao619/article/details/9039345  ,总之,安装容易,以后要用好用精,还是要好好琢磨琢磨。





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值