时间:2021-07-01 10:21:17 帮助过:31人阅读
Linux之MySQL源码编译安装
系统平台:Ubuntu12.04
编译环境:gcc-4.6.3
准备工作: www.bitsCN.com
mysql-5.5.28.tar.gz
cmake-2.8.10.2.tar.gz
ncurses-5.9.tar.gz
由于mysql5.5以上的版本改用cmake编译了,所以要装cmake编译!
此方法适合所有有mysql编译环境的Linux. www.bitsCN.com
---------------------------------
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.server start 启动mysql服务
# service mysql.server stop 关闭mysql服务
# service mysql.server 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----------
bitsCN.com