mysql_install
一、前期准备
依赖包
1)cmake命令 2.8版本以上
https://cmake.org/download/ # 官网
$ wget https://github.com/Kitware/CMake/releases/download/v3.15.0-rc3/cmake-3.15.0-rc3.tar.gz
boost Boost库是⼀个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之⼀
https://www.boost.org/ # 官网:
$ https://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.bz2/download
这里需要注意的是, 如果你要是用mysql5.7 那么就一定要下载 1.59.0 版本的 boost。 其他的是mysql8.0的
mysql
https://dev.mysql.com/downloads/mysql/5.7.html#downloads
(https://dev.mysql.com/downloads/mysql/5.7.html#downloads)
二、安装依赖,后安装mysql
$ yum -y install ncurses-devel gcc-* bzip2-* bison # 先安装依赖的包
1)cmake
$ tar xf cmake-3.6.0-rc1.tar # 解压cmake $ cd cmake-3.6.0-rc1 # cd到解压出的文件夹下 $ ./configure # 对环境进行配置 $ make j4 #开始编译 加个 j4 多核一起进行编译减少等待时间 $ make install # 安装
2)boost
$ tar xf boost_1_59_0.tar.bz2 # 解压boost
$ mv boost_1_59_0 /usr/local/boost # 移动一下
3)mysql
$ tar xf mysql-5.7.24.tar.gz # 解压mysql cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data/ -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DWITH_INNODBBASE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DENABLE_LOCAL_INFILE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_DEBUG=0 -DWITH_EMBEDED_SERVER=0 -DDOWNLOAD_BOOST=1 -DENABLE_DOWNLOADS=1 -DWITH_BOOST=/usr/local/boost
$ make -j4 # 4个CPU进行编译
$ make install # 编译完成之后就安装。
cmake 就相当于 ./configure 进行配置的一个命令。
一定不能有报错的信息。 有就需要从新配置。
# 当想要重新配置的时候 将 mysql-5.7.24 目录下的 CMakeCache.txt 这个文件删除。就可以重新配置了. (比如你配置时出错了,需要重新配置,那就一定要删掉这个文件,再进行配置。)
以下大概就是没出错的样子。
#### -DDOWNLOAD_BOOST=0 不下载boost库⽂件
##解释
-DCMAKE_INSTALL_PREFIX 指定安装路径
-DMYSQL_DATADIR 指定存放数据文件的目录位置
-DMYSQL_UNIX_ADDR 指定mysql.sock的路径
-DWITH_INNODBBASE_STORAGE_ENGINE=1 指定默认存储引擎, 安装 Innodb存储引擎
-DWITH_MYISAM_STORAGE_ENGINE=1 安装myisam存储引擎
-DENABLE_LOCAL_INFILE=1 允许客户端使用local data 命令从本地导入数据文件
-DEXTRA_CHARSETS=all 安装所有字符集
-DDEFAULT_CHARSET=utf8 默认字符集是UTF-8
-DDEFAULT_COLLATION=utf8_general_ci 数据库校对规则(校验字符)
-DMYSQL_USER=mysql 管理用户是 mysql (mysql用户名)
-DWITH_DEBUG=0 关闭debug
-DWITH_EMBEDED_SERVER=0 生成一个libmysqld.a(.so)的库,这个库同时集成了mysql服务与客户端API
-DDOWNLOAD_BOOST=1 允许boots
-DENABLE_DOWNLOADS=1 允许下载boost库文件
-DWITH_BOOST=/usr/local/boost 指定boost的路径。( 允许下载boost库文件的存储路径)
三.安装成功后的一些配置
$ cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql # 拷贝启动文件到 /etc/init.d/mysql
$ chmod 755 /etc/init.d/mysql # 给与权限
$ mkdir -pv /usr/local/mysql/data # 创建一个用于保存数据的文件夹。
$ useradd -s /sbin/nologin -r mysql # 添加一个用户
$ chown mysql.mysql /usr/local/mysql/ -R # 所有者设置成刚刚添加的 mysql用户
# 建立一大堆链接,方便以后使用
ln -sf /usr/local/mysql/bin/* /usr/bin/
ln -sf /usr/local/mysql/lib/* /usr/lib/
ln -sf /usr/local/mysql/libexec/* /usr/local/libexec
ln -sf /usr/local/mysql/share/man/man1/* /usr/share/man/man1
ln -sf /usr/local/mysql/share/man/man8/* /usr/share/man/man8
修改配置文件 确保路径正确
[root@web01 ~]# egrep -v "^#|^$" /etc/my.cnf
[root@web01 ~]$ vim /etc/my.cnf
[mysqld] basedir=/usr/local/mysql # 你的mysql这个软件装在哪里了,这个地址就写哪里,不要乱写 datadir=/usr/local/mysql/data # 数据保存在哪里了,数据库的数据放在这里 socket=/usr/local/mysql/mysql.sock # socket 链接 symbolic-links=0
[mysqld_safe] log-error=/var/log/mysql.log # 日志文件 pid-file=/var/run/mysql.pid !includedir /etc/my.cnf.d
5)初始化mysql数据库
$ /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
# 这里干的事情就是, 把mysql启动所需要的所有的文件, 全部都创建出来
初始化之后会给一个 临时的密码: root@localhost: T6upu>pr+8,z
6)密码修改(这里给的初始的密码,要用上。修改密码需要这个)
$ /etc/init.d/mysql start # 然后先启动mysql
$ mysql_secure_installation # 这个命令是修改密码的 这一步会有很多的选项。 还有关于匿名用户的 等等。 百度查清每一点 选择是和否就行了