安装准备
1.下载MySQL安装包(下载安装源码 -- Source Code[集成boost])
2.编译环境准备:(已经安装就无需重复操作)针对CentOS其他请百度
dnf install -y make cmake gcc gcc-c++ ncurses-devel libtirpc-devel openssl-devel tar
3.安装rpcgen
xz -d rpcsvc-proto-1.4.1.tar.xz && tar -xvf rpcsvc-proto-1.4.1.tar
3.3.进入rpcgen并预编译 cd rpcsvc-proto-1.4.1
./configure
3.4.编译安装 make && make install
安装
1.解压MySQL到指定目录如: /data0/mysql
tar -zxvf mysql-boost-8.0.19.tar.gz
2.创建mysql用户及用户组并禁止mysql用户登录
groupadd mysql && useradd -s /sbin/nologin -g mysql -r mysql
3.创建MySQL的数据,日志,临时目录
mkdir -p /data1/mysql/data && mkdir -p /data1/mysql/logs && mkdir -p /data1/mysql/temp && mkdir -p /data1/mysql/mysqld
4.配置环境变量4.1.打开文件:
vi /etc/profile
4.2.输入: # MySQL
export MYSQL_HOME=/data0/mysql
export PATH=$MYSQL_HOME/bin:$MYSQL_HOME/lib:$PATH
4.3.保存并退出 :x
4.4.让配置马上生效 source /etc/profile
5.编译安装5.1.进入解压的MySQL目录并创建编译文件夹build
cd /data0/mysql/mysql-8.0.19 && mkdir build && cd build
5.2.预编译 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=3306
预编译结果
5.3.编译 make
编译结果
5.4.安装 make install
6.修改MySQL目录拥有者为mysql用户
chown -Rf mysql:mysql /data0/mysql && chown -Rf mysql:mysql /data1/mysql
7.初始化MySQL数据库7.1.进入MySQL安装目录
cd /data0/mysql
7.2.初始化 bin/mysqld --initialize-insecure --basedir=/data0/mysql --datadir=/data1/mysql/data --user=mysql
8.配置/etc/my.cnf文件(如没特殊需要默认即可)
vi /etc/my.cnf
9.添加服务,拷贝服务脚本到init.d目录 并设置为开机启动
cp support-files/mysql.server /etc/init.d/mysql && chkconfig mysql on
10.启动MySQL
service mysql start
11.初始化MySQL的root用户密码
mysqladmin -u root password 'root'
12.登录MySQL并初始化数据库12.1.登录
mysql -uroot -proot
12.2.修改信息 命令 说明
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.运行安全设置脚本
/data0/mysql/bin/mysql_secure_installation 提示 说明
Enter current password for root (enter for none): 输入MySQL数据库root用户密码
Press y|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.往防火墙添加3306端口以供远程用户访问
firewall-cmd --add-port=3306/tcp --permanent && firewall-cmd --add-port=3306/tcp
15.重启Linux系统尝试从局域网访问
username:root
password:root