mysql 在cento下源码安装
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 在cento下源码安装相关的知识,希望对你有一定的参考价值。
虚拟机改为网络地址转换 (NAT)
service network restart
ping www.baidu.com
rpm -qa | grep mysql
有的话通过下面的命令来卸载掉
rpm -e mysql //普通删除模式
rpm -e --nodeps mysql // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
二:安装MySQL
安装编译代码需要的包
yum -y install make gcc-c++ cmake bison-devel ncurses-devel
useradd mysql -s /sbin/nologin
cat/etc/passwd | grep mysql
cat /etc/group | grep mysql
mkdir /usr/src/mysql
源目录
cd /usr/src/mysql
这里测试有不识别的参数
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/var/lib/mysql -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DENABLED_LOCAL_INFILE=1 -DEXTRA_CHARSETS=all -DMYSQL_USER=mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DMYSQL_TCP_PORT=3306
make
make install
进入安装路径
cd /usr/local/mysql
进入安装路径,执行初始化配置脚本,创建系统自带的数据库和表
scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
注:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索"$basedir/my.cnf",在本例中就是 /usr/local/mysql/my.cnf,这是新版MySQL的配置文件的默认位置!
cd /usr/local/mysql
basedir=/usr/local/mysql
datadir=/var/lib/mysql
port= 3306
socket=/temp/mysqld.sock
添加服务,拷贝服务脚本到init.d目录,并设置开机启动
cp support-files/mysql.server /etc/init.d/mysql
chkconfig mysql on
service mysql start --启动MySQL
MySQL启动成功后,root默认没有密码,我们需要设置root密码。
设置之前,我们需要先设置PATH,要不不能直接调用mysql
修改/etc/profile文件,在文件末尾添加
PATH=/usr/local/mysql/bin:$PATH
export PATH
关闭文件,运行下面的命令,让配置立即生效
source /etc/profile
cd
vi .bash_profile
PATH=$PATH/bin:/usr/local/mysql/bin
source ~/.bash_profile
执行下面的命令修改root密码
mysql -uroot
mysql> SET PASSWORD = PASSWORD(‘123456‘);
若要设置root用户可以远程访问,执行
mysql> GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘172.16.%‘ IDENTIFIED BY ‘password‘ WITH GRANT OPTION;
flush privileges;
配置防火墙
etc/sysconfig/iptables
在“-A INPUT –m state --state NEW –m tcp –p –dport 22 –j ACCEPT”,下添加:
-A INPUT -m state --state NEW -m tcp -p -dport 3306 -j ACCEPT
然后保存,并关闭该文件,在终端内运行下面的命令,刷新防火墙配置:
service iptables restart
这里未测试
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
make && make install
参数说明:
-DCMAKE_INSTALL_PREFIX=/work/installed/mysql //安装目录
-DINSTALL_DATADIR=/work/installed/mysql/data //数据库存放目录
-
-DDEFAULT_CHARSET=utf8 //使用utf8字符
-
-DDEFAULT_COLLATION=utf8_general_ci //校验字符
-
-DEXTRA_CHARSETS=all //安装所有扩展字符集
-
-DENABLED_LOCAL_INFILE=1 //允许从本地导入数据
tar -zxvf cmake.....
cd cmake.....
安装CMAKE
./configure --prefix=/usr/local/cmake
gmake make install
./cmake.sh gmake make install
mkdir /var/lib/mysql
chown mysql.mysql
ll
ls
:(configure.cmake)
cd /usr/local/mysql
cd support-files/
mysql.server
cp mysql.server /etc/init.d/mysql
cp my-default.cnf /etc/my.cnf
vi my.cnf
basedir=/usr/local/mysql
datadir=/var/lib/mysql
port= 3306
socket=/temp/mysqld.sock
cd /usr/local/mysql/scripts/
./mysql_install_db --help
./mysql_install_db --basedir=/usr/local/msql/ --datadir=/var/lib/mysql --no-defaults --usre=mysql
cd /var/lib/mysql
service mysql start
ps -ef |grep mysql
cd /usr/local/mysql/
cd bin/
./mysql
cd
vi .bash_profile
PATH=$PATH/bin:/usr/local/mysql/bin
source ~/.bash_profile
所有用户
vi /etc/bashrc
PATH=$PATH:/usr/local/mysql/bin
cmake . -DCMAKE_INSTALL_PREFIX=/work/installed/mysql -DMYSQL_DATADIR=/work/installed/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1
examples 示例程序和脚本
include 包含(头)文件
lib 库
scripts 实用工具脚本
share 错误消息文件
使用MySQL AB‘s Linux RPM分发进行安装后,将在以下系统目录产生文件:
目录目录内容
Chapter 2. Installing MySQL
file:///D:/download/refman-5.1-zh.html-chapter/refman-5.1-zh.html-chapter/installing.html[2010/2/24 5:21:24]
/usr/bin 客户端程序和脚本
/usr/sbin mysqld服务器
/var/lib/mysql 日志文件,数据库
/usr/share/doc/packages 文档
/usr/include/mysql 包含(头)文件
/usr/lib/mysql 库
/usr/share/mysql 错误消息和字符集文件
/usr/share/sql-bench 基准程序
在Unix中,可以在你选择的安装位置解压并安装tar文件二进制分发(typically /usr/local/mysql)并在该位置创建以下目录:
目录目录内容
bin 客户端程序和mysqld服务器
data 日志文件,数据库
docs 文档,ChangeLog
include 包含(头)文件
lib 库
scripts mysql_install_db
share/mysql 错误消息文件
sql-bench 基准程序
配置并编译完源码分发后,便开始安装。默认情况下,可以将文件安装到/usr/local,即在下面的子目录中:
目录目录内容
bin 客户端程序和脚本
include/mysql 包含(头)文件
info Info格式的文档
lib/mysql 库
libexec mysqld服务器
share/mysql 错误消息文件
sql-bench 基准程序和crash-me测试
var 数据库和日志文件
在一个安装目录内,源码安装的布局在下列方面不同于二进制安装:
· mysqld服务器被安装在“libexec”目录而不是“bin”目录内。
· 数据目录是“var”而非“data”。
· mysql_install_db被安装在“bin”目录而非“scripts”内。
· 头文件和库目录是“include/mysql”和“lib/mysql”而非“include”和“lib”。
以上是关于mysql 在cento下源码安装的主要内容,如果未能解决你的问题,请参考以下文章