时间:2021-07-01 10:21:17 帮助过:24人阅读
- <code>下面是安装要求,已安装的可以跳过。
- cmake
- boost
- gcc
- ncurses
- openssl
- bison
- doxygen
- </code>
- <code># 查看版本版本不能低于5.3.0
- gcc -v
- # 安装GCC必备的几个东西
- gmp-6.1.0.tar.bz2
- mpfr-3.1.3.tar.bz2
- mpc-1.0.3.tar.gz
- gcc-5.3.0.tar.gz
- # 下载地址
- 链接:https://pan.baidu.com/s/1vvviVxHkVMlDT6hvwjr6rA
- 提取码:15i9
- # 创建目录
- mkdir temp
- cd temp
- # 解压文件
- tar xvf gmp-6.1.0.tar.bz2
- tar xvf mpfr-3.1.3.tar.bz2
- tar xvf mpc-1.0.3.tar.gz
- tar xvf gcc-5.3.0.tar.gz
- # 编译gmp-6.1.0
- ../gmp-6.1.0/configure –prefix=/usr/local/gmp-6.1.0 ------------#这句是说,安装路径是/usr/local/,名字叫gmp-6.1.0;
- make
- make install
- # 安装好后,可以查看/usr/local/gmp-6.1.0目录下有三个文件夹
- # 编译mpfr-3.1.3
- ../mpfr-3.1.3/configure --prefix=/usr/local/mpfr-3.1.3 --with-gmp=/usr/local/gmp-6.1.0 # prefix是安装路径,with是依赖的gmp库。
- make
- make install
- # 编译mpc-1.0.3
- ../mpc-1.0.3/configure –prefix=/usr/local/mpc-1.0.3 –with-gmp=/usr/local/gmp-6.1.0 –with-mpfr=/usr/local/mpfr-3.1.3
- make
- make install
- # 编译gcc5.3.0
- ../gcc-5.3.0/configure --prefix=/usr/local/gcc-5.3 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++ --with-gmp=/usr/local/gmp-6.1.0 --with-mpfr=/usr/local/mpfr-3.1.3 --with-mpc=/usr/local/mpc-1.0.3
- make
- make install
- #在配置时,对于语言language=选项,可以根据自己需要的编译器选择语言。 ,java,obc都可以加进去,至此GCC5.3安装完毕。
- # 检查已安装的gcc版本
- rpm -q gcc
- gcc-4.8.5-28.el7.x86_64
- # 删除之前的gcc
- rpm -e gcc-4.8.5-28.el7.x86_64
- # 卸载报错要卸载所有依赖
- # 把gcc-5.3.0软连接到执行目录
- cd /usr/bin
- ln -s /usr/local/gcc-5.3/bin/gcc gcc
- ln -s /usr/local/gcc-5.3/bin/g++ g++
- # 生效gcc变量
- vim /etc/profile
- export LD_LIBRARY_PATH=/usr/local/gcc-5.3/lib:/usr/local/gcc-5.3/lib64:$LD_LIBRARY_PATH
- # source文件
- source /etc/profile
- # 查看版本
- [root@mysql ~]# gcc -v
- 使用内建 specs。
- COLLECT_GCC=gcc
- COLLECT_LTO_WRAPPER=/usr/local/gcc-5.3/libexec/gcc/x86_64-unknown-linux-gnu/5.3.0/lto-wrapper
- 目标:x86_64-unknown-linux-gnu
- 配置为:./configure --prefix=/usr/local/gcc-5.3 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++ --with-gmp=/usr/local/gmp-6.1.0 --with-mpfr=/usr/local/mpfr-3.1.3 --with-mpc=/usr/local/mpc-1.0.3
- 线程模型:posix
- gcc 版本 5.3.0 (GCC)
- </code>
- <code>boost不需要手动安装,后面运行cmake脚本的时候会自动下载安装,当然也可以手动安装,官网的文档说是需要特定版本,这里的MySQL Server 8.0.19需要的是1.70.0,目前最新的boost库为1.72.0。
- </code>
- <code>sudo yum install -y bison bzip2 git hostname ncurses-devel openssl openssl-devel pkgconfig tar wget zlib-devel doxygen
- </code>
- <code>sudo yum install -y bison bzip2 git hostname ncurses-devel openssl openssl-devel pkgconfig tar wget zlib-devel doxygen diffutils rpcgen make libtirpc-devel
- </code>
- <code>https://downloads.mysql.com/archives/community/
- 这里不知道带boost与不带boost的有什么区别,后面使用cmake的时候都需要手动下载boost,所以就随便选一个吧。有知道的大神可以留言,小弟感激不尽。
- </code>
- <code># 解压boots
- tar -zxvf mysql-boost-8.0.19.tar.gz
- # 进入目录
- cd mysql-8.0.19
- </code>
- <code>mkdir bld
- </code>
先去官网下载:
- <code># 解压cmake
- tar zxf cmake-3.17.2-Linux-x86_64.tar.gz
- # 进入到cmake目录
- cd cmake-3.17.2-Linux-x86_64/
- # 进入到cmake下级bin目录
- cd bin/
- # 软连接到cmake目录
- ln -s /root/cmake-3.17.2-Linux-x86_64/bin/cmake /usr/bin/cmake
- # 查看cmake版本
- cmake -version
- cmake version 3.17.2
- CMake suite maintained and supported by Kitware (kitware.com/cmake).
- </code>
- <code>cd mysql-8.0.19/bld/
- cmake .. -DDOWNLOAD_BOOST=1 -DWITH_BOOST=. -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DENABLED_LOCAL_INFILE=ON -DWITH_SSL=system -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/server -DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL_TCP_PORT=3306 </code>
安装了boost的可以不需要:
- <code>-DDOWNLOAD_BOOST=1
- -DWITH_BOOST
- </code>
安装位置与数据位置根据需要自定义:
- <code>-DCMAKE_INSTALL_PREFIX=
- -DMYSQL_DATADIR=
- </code>
编译和安装
- <code>make
- make install
- </code>
这里笔者遇到了libstdc++.so.6这个库的问题,MySQL Server 8.0.19安装需要GLIBCXX_3.4.25. 可以看看自己的libstdc++.so.6的路径:
- <code>cd /usr/local/gcc-5.3/lib64
- # 查看libstdc++.so.6版本对不对,不能低于3.4.25
- strings /usr/local/gcc-5.3/lib64/libstdc++.so.6 | grep GLIBCXX
- # 下载对应libstdc++6_8.3.0-6_amd64.deb
- http://ftp.de.debian.org/debian/pool/main/g/gcc-8/libstdc++6_8.3.0-6_amd64.deb
- # 解压libstdc++6_8.3.0-6_amd64.deb
- ar -x libstdc++6_8.3.0-6_amd64.deb
- # 再解压xz
- xz -d data.tar.xz
- tar -xvf data.tar
- # 删除之前的libstdc++.so.6
- rm /usr/lib64/libstdc++.so.6
- # 拷贝
- cp usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25 /usr/lib64/
- # 软连接到相应目录
- ln /usr/lib64/libstdc++.so.6.0.25 /usr/lib64/libstdc++.so.6
- # 查看版本是不是4.3.25
- strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
- # 测试test,最后显示100% ok
- make test
- </code>
- <code>groupadd mysql
- useradd -r -g mysql -s /bin/false mysql
- </code>
- <code>chown -R mysql:mysql /usr/local/mysql/data/
- chmod 777 /usr/local/mysql/data/
- </code>
- <code>vim /etc/my.cnf
- [mysqld]
- port=3306
- basedir=/usr/local/mysql/server
- datadir=/usr/local/mysql/data
- character-set-server=utf8mb4
- [mysql]
- default-character-set=utf8
- [client]
- port=3306
- default-character-set=utf8
- 参数根据需要可以后期添加,这里如果使用utf8:
- [mysqld]
- character-set-server=utf8
- 会有警告,因为MySQL5.5.3之后增加了utf8mb4,mb4是most bytes 4的意思,专门用来兼容四字节的unicode,utf8指的是utf8mb3,支持的utf8编码最大字符长度为3字节,警告提示改成utf8mb4:
- [mysqld]
- character-set-server=utf8mb4
- </code>
- <code># 进入到MySQL Server的安装目录下的bin
- cd /usr/local/mysql/server/bin/
- # 初始化
- ./mysqld --initialize-insecure --user=mysql
- # 支持ssl与rsa(可选)
- ./mysql_ssl_rsa_setup
- # 开启服务
- ./mysqld_safe --user=mysql &
- # 修改root密码
- ./mysql -u root --skip-password
- # 首次无密钥登陆
- ./mysql -u root -p
- # 进入mysql数据库user表修改密码为123456
- mysql> use mysql;
- mysql> select user,host,authentication_string from user;
- mysql> alter user ‘root‘@‘localhost‘ identified by ‘123456‘;
- </code>
- <code>./mysqladmin -u root -p version
- ./mysqlshow -u root -p
- </code>
- <code># 可以先把安装文件给删去:
- rm -rf mysql-8.0.19*
- rm -rf boost_1_70_0*
- # 添加别名
- alias mysqld="/usr/local/mysql/server/bin/mysqld_safe --user=mysql &"
- alias mysql="/usr/local/mysql/server/bin/mysql -u root -p"
- # 永久生效别名
- [root@mysql ~]# cat /root/.bashrc
- # .bashrc
- # User specific aliases and functions
- alias rm=‘rm -i‘
- alias cp=‘cp -i‘
- alias mv=‘mv -i‘
- alias mysqld="/usr/local/mysql/server/bin/mysqld_safe --user=mysql &"
- alias mysql="/usr/local/mysql/server/bin/mysql -u root -p"
- # Source global definitions
- if [ -f /etc/bashrc ]; then
- . /etc/bashrc
- fi
- [root@mysql ~]# source /root/.bashrc
- # 启动服务
- [root@mysql ~]# mysqld
- # 启动
- [root@mysql ~]# mysql
- # 进入目录
- cd /usr/local/mysql/server/support-files
- # 移动到/etc/init.d/
- mv mysql.server /etc/init.d/
- # 进入到/etc/init.d/
- cd /etc/init.d/
- # 改名字
- mv mysql.server mysqld
- # 启动
- /etc/init.d/mysqld start
- # 停止
- /etc/init.d/mysqld stop
- </code>
Mysql编译安装8.0.19
标签:安装文件 bzip2 mysql配置 mos exec mod make init 编码