MySQL 安装方式分为: 源码安装,相应系统发行包安装(如 rpm, yum, apt-get 等)。生产中比较推荐使用二进制安装。 这里给大家推荐一篇源码安装,大家可以了解一下,这个可以用到学习源码之路。
rpm -qa|grep mysql
rpm -qa|grep mariadb
如果上面有输出卸载之:
rpm -e mariadb-libs-5.5.50-1.el7_2.x86_64
wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.16.tar.gz
yum install -y cmake make gcc gcc-c++
tar -zxvf mysql-5.7.16.tar.gz
创建用户组
groupadd mysql
创建 mysql 用户,所属组为 mysql
useradd -s /sbin/nologin -m -n -g mysql mysql -d /usr/local/mysql
yum install -y ncurses-devel openssl-devel bison-devel libaio libaio-devel
该步骤可以省略,在 cmake 阶段添加参数-DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost
即可
boost 库安装
wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
tar -zxvf boost_1_59_0.tar.gz -C /usr/local
mv /usr/local/boost_1_59_0 /usr/local/boost
cd /usr/local/boost
./bootstrap.sh
./b2 stage threading=multi link=shared
./b2 install threading=multi link=shared
目录 | 含义 | 配置参数 |
---|---|---|
data | 用于存储数据 | datadir |
tmp | 用于存储临时文件 | tmpdir |
log | 日志文录 | log_bin_basename |
mkdir -p /data/mysql/mysql3306/{data,log,tmp}
chown -R mysql:mysql /data/mysql/mysql3306
默认情况下,MySQL 会依次按顺序查找如下几个路径来获取 MySQL 配置访问文件:
/etc/my.cnf
/etc/mysql/my.cnf
/etc/my.cnf/my.cnf
/usr/local/mysql/my.cnf
~/.my.cnf
使用过程中可通过 --defaults-file=xxx 来指定配置文件。
切换到 mysql-5.7.16 源码目录下
cd /path/mysql-5.7.16
cmake
cmake \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql/mysql3306/data \
-DSYSCONFDIR=/etc/my.cnf \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DENABLE_DEBUG_SYNC=0 \
-DENABLED_LOCAL_INFILE=1 \
-DENABLED_PROFILING=1 \
-DWITH_DEBUG=0 \
-DWITH_SSL=yes \
-DWITH_SAFEMALLOC=OFF \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/boost
make
该命令中可以通过添加-j参数指定多线程工作,如 make -j2 && make install -j2 则使用2个 CPU 核进行 make
该步骤执行完毕后,可以到 CMAKE_INSTALL_PREFIX 参数指定的目录下,即 MySQL 安装目录下查看到 mysql 相关目录与文件
make && make install
修改 MySQL 安装目录的所属用户与用户组为 mysql:mysql
chown -R mysql:mysql /usr/local/mysql
vim /etc/profile
在 ~/.bashrc 文件下添加如下语句
export MYSQL_HOME=/usr/local/mysql
export PATH=${MYSQL_HOME}/bin:$PATH
保存后,使环境变量生效
source /etc/profile
配置文件放置到: /etc/my.cnf
cd /usr/local/mysql
初始化
./bin/mysqld --initialize
获取初始化的密码:
cat /data/mysql/mysql3306/data/error.log |grep password
利用这个 password 登录 MySQL
启动MySQL
/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf &
登录MySQL后修改密码
mysql>set password='wubxwubx';
mysql -uroot -p
输入更改后的密码: wubxuwbx
mysqladmin shutdown -uroot -S /tmp/myql3306.sock
使用新密码
初始化的 MySQL 5.7.6+ 与 MySQL 5.6.xx 不同之处
本文分享自 MySQLBeginner 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!