Linux 开源数据库Mysql-1
源码包安装Mysql
针对自己的硬件平台选用合适的编译器来优化编译后的二进制代码
根据不同的软件平台环境调整相关的编译参数
针对我们特定应用场景选择需要什么组件不需要什么组件
根据我们的所需要存储的数据内容选择只安装我们需要的字符集
同一台主机上可以安装多个Mysql
在源码安装给我们带来更灵活性的同时,同样也给我们带来了可能引入的隐患
对编译参数的不够了解造成编译参数使用不当可能使编译出来的二进制代码不够稳定
对自己的应用环境把握失误而使用的优化参数可能反而使系统性能更差
源码编译安装会使安装过程更为复杂,花费的时间更长
源码包下载地址
检查是否已经安装了自带的mysql
rpm -qa |grep mysql
rpm -qa | grep mariadb
如果又请先卸载mysql
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
wget https://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/mysql-boost-5.7.36.tar.gz
wget https://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/mysql-5.7.36.tar.gz
稍后我会上传资源可以在我的资源里下载
安装编译所需要的环境
yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make
yum -y install cmake
创建mysql用户
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
tar xvf mysql-5.7.36.tar.gz
tar xf /root/mysql-boost-5.7.36.tar.gz
cd mysql-5.7.36
cmake . \
-DWITH_BOOST=/root/mysql-5.7.36/boost/boost_1_59_0/ \ //指定到时候需要使用的boost包路径(重要)
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ //指定Mysql的安装路径
-DSYSCONFDIR=/etc \ //指定系统配置文件路径
-DMYSQL_DATADIR=/usr/local/mysql/data \ //指定数据文件路径
-DINSTALL_MANDIR=/usr/share/man \
-DMYSQL_TCP_PORT=3306 \ //指定端口
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1
下面我我的测试环境上的验证
cmake . \
-DWITH_BOOST=/root/mysql-5.7.36/boost/boost_1_59_0/ \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DSYSCONFDIR=/etc \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DINSTALL_MANDIR=/usr/share/man \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1
cmake 没有报错后执行
make
此时等待时间较长,请耐心等待
make结束无报错后执行
make install
cd /usr/local/mysql
mkdir mysql-files
chown -R mysql.mysql /usr/local/mysql/
初始化
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
对Mysql的数据目录进行加密
/usr/local/mysql/bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
配置文件的修改和创建
[root@mysql1]# vim /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
设置mysql 的启动
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
systemctl start mysqld
修改密码
/usr/local/mysql/bin/mysqladmin -uroot -p'hx2deqDaJO>i' password 'qwer!@#$'
/usr/local/mysql/bin/mysql -uroot -p'qwer!@#$'
到此源码包安装就结束了