三种方式安装 mysql
二进制 rpm 安装 mysql5.7.21
下载 yum repository
[root@apenglinux-002 yum.repos.d]# yum -y install https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
[root@apenglinux-002 yum.repos.d]# yum clean all
[root@apenglinux-002 yum.repos.d]# yum makecache
[root@apenglinux-002 yum.repos.d]# yum repolist
下载的软件包用md5加密与官网的md5值比较,看是否被人更改
[root@apenglinux-002 ~]# md5sum mysql57-community-release-el7-11.noarch.rpm
c070b754ce2de9f714ab4db4736c7e05 mysql57-community-release-el7-11.noarch.rpm
经比较没有更改。
[root@apenglinux-002 ~]# yum install mysql-community-server.x86_64 -y
二进制免编译安装mysql5.7
下载
# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
mysql 初始化,建立mysql配置文件
# groupadd mysql
# useradd -r -g mysql -s /sbin/nologin mysql
# cd /usr/local/
# tar zxvf /root/mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
# ln -s mysql-5.7.21-linux-glibc2.12-x86_64/ mysql
# cd mysql
# mkdir mysql-files
# chown -R mysql.mysql .
# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
# cp -rf /etc/my.cnf /etc/my.cnf.old
# vim /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
skip-grant-tables
启动mysql
# bin/mysqld_safe --user=mysql &
# cp support-files/mysql.server /etc/init.d/mysqld
# chmod a+x /etc/init.d/mysqld
# chkconfig --add mysqld
# chkconfig mysqld on
# service mysqld start
设置root的密码
mysql> use mysql;
mysql> update user set authentication_string=PASSWORD('newpass') where User='root';
mysql> alter user root@'localhost' identified by 'newpass'; //修改密码
重新初始化
# killall mysqld
# rm -rf /usr/local/mysql/data/
# chown -R mysql.mysql /usr/local/mysql
# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
# bin/mysql_ssl_rsa_setup
# service mysqld restart
源码包安装 mysql-5.7.20
下载安装包
cd /usr/local/src/
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.20.tar.gz
wget --no-check-certificate http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
安装依赖软件
yum install -y cmake bison bison-devel libaio-devel gcc gcc-c++ git ncurses-devel
解压mysql-5.7.20.tar.gz,将boost_1_59_0.tar.gz移入mysql-5.7.20中
tar zxvf mysql-5.7.20.tar.gz
mv boost_1_59_0.tar.gz mysql-5.7.20
进入mysql-5.7.20中,新建configure做为编译目录,并进入编译目录
cd mysql-5.7.20/
mkdir configure
cd configure/
使用cmake进行生成编译环境
cmake .. -DBUILD_CONFIG=mysql_release -DINSTALL_LAYOUT=STANDALONE -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_DTRACE=OFF -DWITH_EMBEDDED_SERVER=OFF -DWITH_INNODB_MEMCACHED=ON -DWITH_SSL=bundled -DWITH_ZLIB=system -DWITH_PAM=ON -DCMAKE_INSTALL_PREFIX=/var/mysql/ -DINSTALL_PLUGINDIR="/var/mysql/lib/plugin" -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EDITLINE=bundled -DFEATURE_SET=community -DCOMPILATION_COMMENT="MySQL Server (GPL)" -DWITH_DEBUG=OFF -DWITH_BOOST=..
编译安装mysql
make -j $(grep processor /proc/cpuinfo|wc -l) && make install
按照二进制免编译安装mysql5.7就可以了。
cmake的一些参数
-DBUILD_CONFIG=mysql_release \ //使用该选项,可以促使编译器按照oracle生成官方版本的选项来编译程序
-DINSTALL_LAYOUT=STANDALONE \ //布局选项,包括Standalone、RPM、SRV4、DEB
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DENABLE_DTRACE=OFF \
-DWITH_EMBEDDED_SERVER=OFF \
-DWITH_INNODB_MEMCACHED=ON \
-DWITH_SSL=bundled \
-DWITH_ZLIB=system \ //启用libz库支持(zib、gzib相关)
-DWITH_PAM=ON \
-DCMAKE_INSTALL_PREFIX=/var/mysql/ \ // 安装路径
-DINSTALL_PLUGINDIR="/var/mysql/lib/plugin" \ //插件路径
-DDEFAULT_CHARSET=utf8 \ //默认字符集
-DDEFAULT_COLLATION=utf8_general_ci \ //指定默认排序规则
-DWITH_EDITLINE=bundled \
-DFEATURE_SET=community \
-DCOMPILATION_COMMENT="MySQL Server (GPL)" \
-DWITH_DEBUG=OFF -DWITH_BOOST=.. // boots目录
-DMYSQL_DATADIR=dir_name //mysql数据库文件目录
-DMYSQL_TCP_PORT=port_num //设置mysql服务器监听端口
-MYSQL_UNIX_ADDR //socket文件路径
-DINSTALL_MANDIR=share/man //指向man文档目录 默认为prefix/share/man
-DMYSQL_USER=username //设置mysql管理员
-DSYSCONFDIR=/etc/mysql //设置mysql配置文件目录
-DINSTALL_SBINDIR=sbin //指向可执行文件目录(prefix/sbin)
mysql参考文档