centos mysql 源码 编译安装_Centos环境下mysql源码编译安装

yum -y install gcc gcc-c++ ncurses-devel perl

##从mysql5.5起,mysql源码安装开始使用cmake了,设置源码编译配置脚本。

tar -zxvf cmake-2.8.12.tar.gz

cd cmake-2.8.12

./bootstrap  && make && make install

mkdir -p /usr/local/mysql

tar -zxvf mysql-5.6.37.tar.gz

cd mysql-5.6.37

/usr/local/bin/cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ -DMYSQL_DATADIR=/data2/mysqldb -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_TCP_PORT=3308 -DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock -DMYSQL_USER=mysql -DWITH_DEBUG=0

rm CMakeCache.txt   #试验删不删除的影响,试过没删除也没影响

make

make install

mkdir -p /data2/mysqldb

chown -R mysql:mysql /usr/local/mysql

chown -R mysql:mysql /data2/mysqldb

cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

chown mysql:mysql /etc/my.cnf

##my.cnf重新配置参数,编译阶段的参数没写到这个配置文件去。

#文件配置

vim /etc/my.cnf

basedir =/usr/local/mysql

datadir =/data2/mysqldb

port =3308

# server_id = .....

socket =/usr/local/mysql/data/mysql.sock

[mysqld_safe]

log-error=/usr/local/mysql/log/mysqld.log

pid-file=/usr/local/mysql/run/mysqld/mysqld.pid

default-storage-engine=MyISAM

server-id       = 1

innodb_buffer_pool_size = 21M

innodb_additional_mem_pool_size = 2M

innodb_log_file_size = 5M

innodb_log_buffer_size = 8M

innodb_flush_log_at_trx_commit = 1

innodb_lock_wait_timeout = 50

#Because the MySQL server, mysqld, must access the data directory when it runs later, you should either run mysql_install_db from the same system account that will be used for running mysqld

/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data2/mysqldb

##指定配置文件

##/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data2/mysqldb --defaults-file=/usr/local/mysql/my.cnf

mkdir -p /usr/local/mysql/log

chown mysql:mysql /usr/local/mysql/log/

mkdir -p /usr/local/mysql/run/mysqld/

chown -R mysql:mysql /usr/local/mysql/run/mysqld/

touch /usr/local/mysql/log/mysqld.log

chown mysql:mysql /usr/local/mysql/log/mysqld.log

#To start a second server, provide different --socket and --port option values, and pass a --datadir=dir_name option to mysqld_safe so that the server uses a different data directory.

mysqld_safe --socket=file_name --port=port_number --defaults-file=/usr/local/mysql/my.cnf

#安全模式启动

/usr/local/mysql/bin/mysqld_safe --socket=/usr/local/mysql/data/mysql.sock --port=3308 --defaults-file=/usr/local/mysql/my.cnf

#开启mysql服务

/usr/local/mysql/support-files/mysql.server start

#密码为空,如果能登陆上,则安装成功

/usr/local/mysql/bin/mysql -u root -p

或自定义带sock文件

/usr/local/mysql/bin/mysql -uroot -p -S /usr/local/mysql/data/mysql.sock

后续步骤:

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld-lastest

vim /etc/profile

MYSQL_PATH=/usr/local/mysql/bin:/usr/local/mysql/lib

export MYSQL_PATH

source /etc/profile

##添加到系统运行级别

chkconfig --level 35 mysqld on

##查看端口占用

netstat -antlp | grep 3308

#修改密码

mysqladmin -u root password '123456'

/usr/local/mysql/bin/mysqld_safe --skip-grant-tables

问题:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

解决:

新建一个链接或在mysql中加入-S参数,直接指出mysql.sock位置。

ln -s /usr/local/mysql/data/mysql.sock /tmp/mysql.sock

/usr/local/mysql/bin/mysql -u root -S /usr/local/mysql/data/mysql.sock

178057c9097f3e011df7ea0fd514cd1b.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、安装MySQL 1、安装cmake cd /usr/local/src tar zxvf cmake-2.8.11.2.tar.gz cd cmake-2.8.11.2 ./configure make make install 2、安装MySQL groupadd mysql #添加mysql组 useradd -g mysql mysql -s /bin/false #创建用户mysql并加入到mysql组,不允许mysql用户直接登录系统 mkdir -p /data/mysql #创建MySQL数据库存放目录 chown -R mysql:mysql /data/mysql #设置MySQL数据库存放目录权限 mkdir -p /usr/local/mysql #创建MySQL安装目录 cd /usr/local/src #进入软件包存放目录 tar zxvf mysql-5.6.19.tar.gz #解压 cd mysql-5.6.19 #进入目录 cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc #配置 make #编译 make install #安装 rm -rf /etc/my.cnf #删除系统默认的配置文件(如果默认没有就不用删除) cd /usr/local/mysql #进入MySQL安装目录 ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql #生成mysql系统数据库 ln -s /usr/local/mysql/my.cnf /etc/my.cnf #添加到/etc目录的软连接 cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld #把Mysql加入系统启动 chmod 755 /etc/init.d/mysqld #增加执行权限 chkconfig mysqld on #加入开机启动 vi /etc/rc.d/init.d/mysqld #编辑 basedir=/usr/local/mysql #MySQL程序安装路径 datadir=/data/mysql #MySQl数据库存放目录 :wq! #保存退出 service mysqld start #启动 vi /etc/profile #把mysql服务加入系统环境变量:在最后添加下面这一行 export PATH=$PATH:/usr/local/mysql/bin :wq! #保存退出 source /etc/profile #使配置立刻生效 下面这两行把myslq的库文件链接到系统默认的位置,这样你在编译类似PHP等软件时可以不用指定mysql的库文件地址。 ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql ln -s /usr/local/mysql/include/mysql /usr/include/mysql mkdir /var/lib/mysql #创建目录 ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock #添加软链接 mysql_secure_installation #设置Mysql密码,根据提示按Y 回车输入2次密码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值