1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149
|
wget https://dev.mysql.com/get/Downloads/mysql/mysql-8.4.3.tar.gz tar -zxvf mysql-8.4.3.tar.gz cd mysql-8.4.3 mkdir build cd build
yum install -y gcc gcc-c++ make cmake ncurses-devel bison wget tar bzip2 zlib zlib-devel gcc-toolset-12-gcc gcc-toolset-12-gcc-c++ gcc-toolset-12-binutils gcc-toolset-12-annobin-annocheck gcc-toolset-12-annobin-plugin-gcc openssl openssl-devel sudo dnf install -y rpcgen
yum install -y libtirpc-devel
wget https://rpmfind.net/linux/centos-stream/9-stream/BaseOS/x86_64/os/Packages/libtirpc-1.3.3-2.el9.x86_64.rpm rpm -ivh libtirpc-1.3.3-2.el9.x86_64.rpm
wget https://rpmfind.net/linux/centos-stream/9-stream/CRB/x86_64/os/Packages/libtirpc-devel-1.3.3-2.el9.x86_64.rpm rpm -ivh libtirpc-devel-1.3.3-2.el9.x86_64.rpm
cd /root wget https://boostorg.jfrog.io/artifactory/main/release/1.77.0/source/boost_1_77_0.tar.bz2 tar -jxvf boost_1_77_0.tar.bz2
cd mysql-8.4.3/build/
cmake .. -DWITH_BOOST=/root/boost_1_77_0 \ -DWITH_ZLIB=bundled \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/usr/local/mysql/data \ -DSYSCONFDIR=/etc \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DWITH_FEDERATED_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_SSL=system \ -DWITH_LIBWRAP=0 \ -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock
make
make install
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
cat > /etc/my.cnf <<EOF [mysqld] # 表示这是 MySQL 服务的配置部分 basedir = /usr/local/mysql # 设置 MySQL 的安装目录为 /usr/local/mysql datadir = /usr/local/mysql/data # 设置 MySQL 的数据存储目录为 /usr/local/mysql/data port = 3306 # 指定 MySQL 服务监听的端口号为 3306,这是 MySQL 的默认端口 socket = /var/lib/mysql/mysql.sock # 指定 MySQL 进程的 socket 文件路径,用于本地客户端连接 user = mysql # 指定运行 MySQL 服务的用户为 mysql,增加安全性 symbolic-links = 0 # 禁用符号链接功能,增加系统安全性
log_error = /var/log/mysql/error.log # 设置错误日志文件的路径,记录 MySQL 服务的错误信息
general_log = 1 # 启用通用查询日志,记录所有执行的查询语句 general_log_file = /var/log/mysql/general.log # 设置通用查询日志的存储路径
slow_query_log = 1 # 启用慢查询日志,用于记录执行时间较长的查询 slow_query_log_file = /var/log/mysql/slow.log # 指定慢查询日志文件的路径 long_query_time = 2 # 设置慢查询的阈值,记录执行时间超过 2 秒的查询 # pid-file = /var/run/mysqld/mysqld.pid pid-file=/usr/local/mysql/mysqld.pid EOF
mkdir -p /var/log/mysql
mkdir -p /var/lib/mysql
chown -R mysql:mysql /var/log/mysql chmod -R 750 /var/log/mysql
chown -R mysql:mysql /usr/local/mysql chmod -R 750 /usr/local/mysql mkdir /usr/local/mysql/data chown -R mysql:mysql /usr/local/mysql/data chmod -R 750 /usr/local/mysql/data
chown -R mysql:mysql /var/lib/mysql chmod -R 750 /var/lib/mysql
/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --initialize-insecure
cat > /etc/systemd/system/mysql.service<<EOF [Unit] Description=MySQL Server After=network.target
[Service] Type=forking ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --daemonize --pid-file=/var/run/mysqld/mysqld.pid ExecStop=/usr/local/mysql/bin/mysqladmin --defaults-file=/etc/my.cnf shutdown User=mysql Group=mysql PIDFile=/var/run/mysqld/mysqld.pid
[Install] WantedBy=multi-user.target EOF
systemctl daemon-reload systemctl enable mysql systemctl start mysql
/usr/local/mysql/bin/mysql_secure_installation
vim /etc/profile export PATH=$PATH:/usr/local/mysql/bin source /etc/profile
mysql -uroot -pAg#@190}678900
CREATE USER 'sxs'@'%' IDENTIFIED BY 'Ag#@190}678900'; GRANT ALL PRIVILEGES ON *.* TO 'sxs'@'%' WITH GRANT OPTION; flush privileges;
|