CentOS8编译安装MySQL8.0.19
安装准备 1.下载MySQL安装包(下载安装源码 -- Source Code[集成boost]) 下载地址:https://dev.mysql.com/downloads/mysql 2.编译环境准备:(已经安装就无需重复操作)针对CentOS其他请百度 sh 复制代码 dnf install -y make cmake gcc gcc-c++ ncurses-devel libtirpc-devel openssl-devel tar 3.安装rpcgen 下载rpcgen 下载地址:https://github.com/thkukuk/rpcsvc-proto/releases 解压指定目录 如:/data0/rpcsvc sh 复制代码 xz -d rpcsvc-proto-1.4.1.tar.xz && tar -xvf rpcsvc-proto-1.4.1.tar 进入rpcgen并预编译 sh 复制代码 cd rpcsvc-proto-1.4.1 ./configure 编译安装 sh 复制代码 make && make install 安装 1.解压MySQL到指定目录 如: /data0/mysql sh 复制代码 tar -zxvf mysql-boost-8.0.19.tar.gz 2.创建mysql用户及用户组并禁止mysql用户登录 sh 复制代码 groupadd mysql && useradd -s /sbin/nologin -g mysql -r mysql 3.创建MySQL的数据,日志,临时目录 sh 复制代码 mkdir -p /data1/mysql/data && mkdir -p /data1/mysql/logs && mkdir -p /data1/mysql/temp && mkdir -p /data1/mysql/mysqld 4.配置环境变量 打开文件: sh 复制代码 vi /etc/profile 输入: sh 复制代码 # MySQL export MYSQL_HOME=/data0/mysql export PATH=$MYSQL_HOME/bin:$MYSQL_HOME/lib:$PATH 保存并退出 sh 复制代码 :x 让配置马上生效 sh 复制代码 source /etc/profile 5.编译安装 进入解压的MySQL目录并创建编译文件夹build sh 复制代码 cd /data0/mysql/mysql-8.0.19 && mkdir build && cd build 预编译 sh 复制代码 cmake ../ \ -DCMAKE_INSTALL_PREFIX=/data0/mysql \ -DDOWNLOAD_BOOST=1 \ -DWITH_BOOST=../boost \ -DMYSQL_UNIX_ADDR=/data1/mysql/temp/mysql.sock \ -DDEFAULT_CHARSET=utf8mb4 \ -DDEFAULT_COLLATION=utf8mb4_general_ci \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DENABLED_LOCAL_INFILE=1 \ -DMYSQL_DATADIR=/data1/mysql/data \ -DMYSQL_TCP_PORT=11010 预编译结果 编译 sh 复制代码 make 编译结果 安装 sh 复制代码 make install 6.修改MySQL目录拥有者为mysql用户 sh 复制代码 chown -Rf mysql:mysql /data0/mysql && chown -Rf mysql:mysql /data1/mysql 7.初始化MySQL数据库 进入MySQL安装目录 sh 复制代码 cd /data0/mysql 初始化 sh 复制代码 bin/mysqld --initialize-insecure --basedir=/data0/mysql --datadir=/data1/mysql/data --user=mysql 8.配置/etc/my.cnf文件 sh 复制代码 vi /etc/my.cnf 9.添加服务,拷贝服务脚本到init.d目录 并设置为开机启动 sh 复制代码 cp support-files/mysql.server /etc/init.d/mysql && chkconfig mysql on 10.启动MySQL sh 复制代码 service mysql start 11.初始化MySQL的root用户密码 sh 复制代码 mysqladmin -u root password 'root' 12.登录MySQL并初始化数据库 登录 sh 复制代码 mysql -uroot -proot 修改信息 命令 说明 use mysql; 使用mysql数据库 create user root@'%' identified by 'root'; 修改root用户可以远程登录,密码为root grant all privileges on . to root@'%' with grant option; 赋予root用户所有权限 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root'; 修改加密方式适应老的软件(可选) flush privileges; 刷新配置 运行结果 13.运行安全设置脚本 sh 复制代码 /data0/mysql/bin/mysql_secure_installation 提示 说明 Enter current password for root (enter for none): 输入MySQL数据库root用户密码 Press y or Y for Yes, any other key for No: 你想设置验证密码插件吗 Change the root password? \[Y/n] 是否改变root密码 Remove anonymous users? \[Y/n] 是否删除匿名用户 Disallow root login remotely? \[Y/n] 是否禁止root用户远程登录 Remove test database and access to it? \[Y/n] 是否删除test库以及相应权限 Reload privilege tables now? \[Y/n] 重新加载权限表使设置生效 运行结果 14.往防火墙添加11010端口以供远程用户访问 sh 复制代码 firewall-cmd --add-port=11010/tcp --permanent && firewall-cmd --add-port=11010/tcp 15.重启Linux系统尝试从局域网访问 username:root password:root