在Ubuntu-12.04.2上编译安装MySQL-5.6.10

来源:互联网 发布:java public方法和类 编辑:程序博客网 时间:2024/05/16 17:09
以下安装中涉及的几点需要提前说明的问题:
1. 所有下载的文件将保存在 /usr/local/src/ 目录下
2. mysql 将以mysql用户运行,而且将加入 service 开机自动运行
3. mysql 将被安装在 /usr/local/mysql/ 目录下
4. mysql 默认安装使用 utf8 字符集
5. mysql 的数据和日志文件保存在 /var/mysql/ 对应目录下
6. mysql 的配置文件保存于/var/mysql/my.cnf
 
1: 下载安装编译MySQL源码需要的库
 sudo apt-get install build-essential libncurses5-dev cmake
 
2: 下载并解压MySQL源码包
下载地址:http://download.csdn.net/detail/yangshufengyrtyfyu/7531843
cd /usr/local/src/
sudo wget -O mysql-5.6.10.tar.gz 
sudo tar -zxvf mysql-5.6.10.tar.gz
 
sudo /usr/sbin/groupadd mysql
sudo /usr/sbin/useradd -g mysql mysql
 
sudo mkdir -p /var/mysql/
sudo mkdir -p /var/mysql/data/
sudo mkdir -p /var/mysql/log/
sudo chmod 777 /var/mysql/data
 
3: 使用cmake生成安装文件
 
cd mysql-5.6.10
sudo cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/var/mysql/data
 
4: 安装MySQL
sudo make
sudo make install
 
sudo chmod +w /usr/local/mysql
sudo chown -R mysql:mysql /usr/local/mysql
sudo chown -R mysql:mysql /var/mysql/
 
sudo ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18
 
sudo cp support-files/my-default.cnf /var/mysql/my.cnf  (注意:my-large.cnf适用于1G内存左右的服务器,可以根据自己配置情况选用my-large.cnf 或 my-huge.cnf 等不同配置)
 
sudo cp support-files/mysql.server /etc/init.d/mysqld
 
四. 配置启动MySQL 5.6.10
 
1. 若有需要请先修改 mysql 的配置 my.cnf
vi /var/mysql/my.cnf
 
2. mysql 初始化安装
/usr/local/mysql/scripts/mysql_install_db \
--defaults-file=/var/mysql/my.cnf \
--basedir=/usr/local/mysql \
--datadir=/var/mysql/data \
--user=mysql
 
即系一行
sudo /usr/local/mysql/scripts/mysql_install_db --defaults-file=/var/mysql/my.cnf --basedir=/usr/local/mysql --datadir=/var/mysql/data --user=mysql
 
 
3. 将 mysql 加入开机启动
 
sudo chmod +x /etc/init.d/mysqld
 
 
vi /etc/init.d/mysqld (sudo vim /etc/init.d/mysqld 编辑此文件,查找并修改以下变量内容:)
basedir=/usr/local/mysql
datadir=/var/mysql/data
 
保存退出
 
sudo chkconfig --add mysqld
 
===========================================
Error:
sudo: chkconfig:找不到命令
Fixed:
sudo apt-get install chkconfig
===========================================
 
 
sudo chkconfig --level 345 mysqld on
===========================================
Error:
/sbin/insserv: 没有那个文件或目录
Fixed:
sudo ln -s /usr/lib/insserv/insserv /sbin/insserv
 
===========================================
 
/usr/local/mysql/bin/mysqladmin -u root password new password
eg==>sudo /usr/local/mysql/bin/mysqladmin -u root password 123456
 
===========================================
Error:
/usr/local/mysql/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)'
Check that mysqld is running and that the socket: '/tmp/mysql.sock' exists!Fixed:
 
Fixed:(本次原因为 系统有mysql的僵尸进程,可以干掉进程或重启)
 
reboot
===========================================
 
sudo ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
 
Test:
mysql -u root -p
 
 
4. 启动 mysql
sudo service mysqld restart
 
//至此,安装已经完成
0 0