[不废话编程 MySql编译安装] Linux CentOS 7.0 环境下编译安装MySql (MySql 5.6.41)
一、下载mysql 5.6.41 安装包 (版本过高 一定容量不足 mysql8.0.12建议硬盘容量 30G+)
- 个人建议在官网下载 https://www.mysql.com
- Download->Community->Community Server(如图:)
- 往下滑动有个选择列表(我在这里选择了5.6.41版本)
二、在linux 编译安装 mysql 前的准备工作
- wget 我们的安装包路径 例子:( wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.41.tar.gz )
- PS:没有wget 可以直接 yum -y install wget
- 安装 mysql 需要的扩展包 yum -y install ncurses-devel libaio-devel cmake gcc-c++ perl-Data-Dumper boost boost-doc boost-devel
- PS: 高版本的Mysql可能需要 boost 版本在1.67.0 需要自己下载 根据 make编译安装 报错的提示下载即可
-
根据自己的需要创建用户 adduser -s /sbin/nologin -M mysql
三、编译安装步骤
- tar -zxvf mysql-5.6.41.tar.gz
-
cd mysql-5.6.36
-
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.41 \
-DMYSQL_DATADIR=/usr/local/mysql-5.6.41/data \
-DMYSQL_UNIX_ADDR=/usr/local/mysql-5.6.41/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_ZLIB=bundled \
-DWITH_SSL=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLE_DOWNLOADS=1 \
-DWITH_DEBUG=0 -
ps: -DWITH_BOOST= boost路径 (如果版本过高需要安装这个 https://www.boost.org/ 根据报错提示下载对应版本 解压就好)
-
make (为什么不两个一起呢? 先编译确认完成后 在编译安装 不推荐 直接使用 make && make install)
-
make install
-
ln -s /usr/local/mysql-5.6.41 /usr/local/mysql
-
cp support-files/my*.cnf /etc/my.cnf
-
这里注意下路径 /root/mysql-5.6.41/support-files/my*.cnf (my*.cnf 不知到用哪个可以用默认的 my-default.cnf )
-
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --user=mysql
-
chown -R mysql.mysql /usr/local/mysql*
-
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld (或者在添加一份到全局命令中 /usr/sbin/mysqld )
-
ln -s /usr/local/mysql/bin/mysql /usr/bin
-
mv /etc/my.cnf /etc/my.bak
-
mkdir -p /usr/local/mysql/tmp
-
chown -R mysql.mysql /usr/local/mysql/tmp
四、修改mysql root 密码
-
systemctl start mysqld 或者 /etc/init.d/mysqld start 或者 mysqld start (开启服务)
-
/usr/local/mysql/bin/mysql 开启mysql服务后运行它 你可以直接到这个目录下 ./mysql (进入mysql命令界面)
-
第二步不明白可以直接用 mysql -uroot -p你的密码;没有密码只能在第二步运行。
-
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456'); (设置密码)
-
如果第三步 命令失败可以执行以下步骤:
-
create DATABASE test; (先创建一个数据库)
-
use test;(选择数据库)
-
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');(修改密码)
PS 编译安装步骤 第3步骤解释如下 :
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.41 #mysql的安装目录
-DMYSQL_DATADIR=/usr/local/mysql-5.6.41/data #数据的存放目录
-DMYSQL_UNIX_ADDR=/usr/local/mysql-5.6.41/tmp/mysql.sock #本地连接数据库的方式,默认在tmp下
-DDEFAULT_CHARSET=utf8 #指定数据库字符集,默认是拉丁语
-DWITH_EXTRA_CHARSETS=all #是否扩展其他字符集支持
#支持的存储引擎,可以不加,有默认值 下面4个
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
第4步骤解释如下 :
ln -s /usr/local/mysql-5.6.41 /usr/local/mysql 创建软连接相当 于快捷方式
第5步骤解释如下 :
cp support-files/my*.cnf /etc/my.cnf 初始化前使用自带的 my.cnf 配置文件
第9步骤解释如下 :
初始化步骤
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --user=mysql
将一些系统的数据库和表,创建出来,也叫元数据(系统数据)
--basedir 指定mysql的安装目录,初始化的时候需要调用mysql的程序
--datadir 指定数据的存放目录
--user 指定运行数据库的用户
初始化话后,看到两个ok,说明初始化成功
第11,12步骤解释如下 :
11步 使用 systemctl 运行(启动服务运行)
12步 mysql 全局运行
ps: 一定要 mysqld 服务开启后 在运行 mysql
第14,15步骤解释如下 :
创建 mysql.socket 的目录,根据初始化数据库的时候指定的 mysql.socket 目录,并赋予权限
以上就是我的 编译安装步骤 如果有哪里不明白可以给我留言共同学习进步!!!!!!