您的位置:首页 > 运维架构 > Linux

Linux之MySQL源码编译安装

2013-01-09 14:02 661 查看
系统平台:Ubuntu12.04

编译环境:gcc-4.6.3

准备工作:

mysql-5.5.28.tar.gz

cmake-2.8.10.2.tar.gz

ncurses-5.9.tar.gz

由于mysql5.5以上的版本改用cmake编译了,所以要装cmake编译!

此方法适合所有有mysql编译环境的Linux.

---------------------------------

1、安装cmake-2.8.10.2.tar.gz

以root用户进入shell

#tar -zxvf cmake-2.8.10.2.tar.gz

#cd cmake-2.8.10.2

#./configure

#make (无法make,检测gcc编译环境)

#make install

---------------------------------

2、安装ncurses-5.9.tar.gz

#tar -zxvf ncurses-5.9.tar.gz

#cd ncurses-5.9

#mkdir /usr/local/ncurses-5.9/

#./configure --prefix=/usr/local/ncurses-5.9/

#make

#make install

--------------------

3、安装mysql-5.5.28.tar.gz

#tar -zxvf mysql-5.5.28.tar.gz

#cd mysql-5.5.28

#mkdir -p /usr/local/mysql (创建数据库安装目录)

#mkdir -p /usr/local/mysql/data (存放数据库)

#groupadd mysql

#useradd -r -g mysql mysql

开始编译mysql源码

#cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ -DMYSQL_DATADIR=/usr/local/mysql/data -DCURSES_INCLUDE_PATH=/usr/local/ncurses-5.9/include/ -DCURSES_LIBRARY=/usr/local/ncurses-5.9/lib/libncurses.a

#make

#make install (这步完了mysql就安装好了)

-----------------------

4.配置MySQL

设置目录权限

#cd /usr/local/mysql

#chown -R root:mysql .  (把当前目录中所有文件的所有者所有者设为root,所属组为mysql)

#chown -R mysql:mysql data

#cp support-files/my-medium.cnf /etc/my.cnf  (将mysql的启动服务添加到系统服务中)

创建系统数据库的表

#cd /usr/local/mysql

#scripts/mysql_install_db --user=mysql

手动启动mysql

#cd /usr/local/mysql

#./bin/mysqld_safe --user=mysql &

# mysqladmin -u root -p shutdown  (停止MySQL服务,这里MySQL的root用户还没有配置密码,所以为空值。需要输入密码时,直接点回车键即可。)

另一种简单的启动mysql的方法(mysql已经被添加到系统服务中)

#cp support-files/mysql.server /etc/init.d/mysql (将mysql的启动服务添加到系统服务中)

# service mysql start 启动mysql服务

# service mysql stop 关闭mysql服务

# service mysql restart 重启mysql服务

把mysql加入环境变量使在shell环境下敲入mysql就进去mysql

#vi /etc/profile

在最后加入

export MYSQL_HOME=/usr/local/mysql

export PATH=$MYSQL_HOME/bin:$PATH

#wq
保存

#source /etc/profile 刷新配置文件

让后敲入mysql就可以看到mysql控制台操作界面了

修改MySQL的root用户的密码以及打开远程连接

# mysql -u root mysql

mysql>use mysql;

mysql>desc user;

mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root"; (为root添加远程连接的能力。)

mysql>update user set Password = password('root') where User='root'; (设置root用户密码为root,可自定义)

mysql>select Host,User,Password from user where User='root';

mysql>flush privileges;

mysql>exit

重新登录:mysql -u root -proot

若还不能进行远程连接,则关闭防火墙

#
/etc/rc.d/init.d/iptables stop



---------------------------------------------END------------------------------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: