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下源码安装的主要内容,如果未能解决你的问题,请参考以下文章

CentOS 6.5下源码安装LAMP(Linux+Apache+Mysql+Php)环境

centos下mysql源码编译安装和主备异步配置

CentOS7.4下MySQL5.7.28源码方式安装

CentOS7下源码安装MySQL 8.x

CentOS7下源码安装MySQL 8.x

CentOS 6.6 下源码编译安装MySQL 5.7.5