Linux安装mysql
1、下载mysql包
【官网地址】:https://www.mysql.com/
wget https://dev.mysql.com/get/Downloads/MySQL-8.1/mysql-boost-8.1.0.tar.gz
yum -y install wget gcc gcc-c++ ncurses ncurses-devel libaio-devel openssl openssl-devel devtoolset-11-gcc devtoolset-11-gcc-c++ devtoolset-11-binutils
PS:因安装mysql需要boost,最好下载带boost的包。
2、安装依赖
gcc需要高版本,参考:[gcc安装升级]:https://blog.csdn.net/y1009559496/article/details/132099565?spm=1001.2014.3001.5502
安装cmake
wget https://github.com/Kitware/CMake/releases/download/v3.27.1/cmake-3.27.1.tar.gz
tar zxvf cmake-3.27.1.tar.gz
cd cmake-3.27.1
./configure --prefix=/usr/local/cmake
make -j4 && make install
将cmake加入环境变量
echo 'export PATH=$PATH:/usr/local/cmake/bin' >> /etc/profile && source /etc/profile
3、安装mysql
useradd mysql -s /sbin/nologin
mkdir -p /data/mysql/data
mkdir -p /usr/local/mysql
chown -R mysql:mysql /data/mysql/data
chown -R mysql:mysql /usr/local/mysql
tar zxvf mysql-boost-8.1.0.tar.gz && cd mysql-8.1.0
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql/data -DSYSCONFDIR=/etc -DMYSQL_TCP_PORT=3306 -DWITH_BOOST=~/mysql-8.1.0/boost -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DENABLED_LOCAL_INFILE=ON -DWITH_INNODB_MEMCACHED=ON -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DFORCE_INSOURCE_BUILD=1
make -j4 && make install
# cmake参数详解
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql # mysql安装目录
-DMYSQL_DATADIR=/data/mysql/data # mysql数据存放位置
-DSYSCONFDIR=/etc # 配置文件位置
-DMYSQL_TCP_PORT=3306 # 服务端口,默认3306
-DWITH_BOOST=~/mysql-8.1.0/boost # boost所在目录
-DDEFAULT_CHARSET=utf8mb4 # 指定默认字符集
-DDEFAULT_COLLATION=utf8mb4_general_ci # 排序规则
-DENABLED_LOCAL_INFILE=on # 能否使用load data命令
-DWITH_INNODB_MEMCACHED=on # 是否生成memcached共享库
-DWITH_INNOBASE_STORAGE_ENGINE=1 # 开启INNODB引擎
-DWITH_FEDERATED_STORAGE_ENGINE=1 # 开启FEDERATED引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 # 开启BLACKHOLE引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 # 开启ARCHIVE引擎
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 # 开启EXAMPLE引擎
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 # 开启PERFSCHEMA引擎
-DFORCE_INSOURCE_BUILD=1 # 强制在代码构建
4、将mysql加入环境变量
echo 'export PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile && source /etc/profile
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
5、初始化配置
mysqld --initialize-insecure --user=mysql
systemctl start mysqld
systemctl enable mysqld
6、mysql配置文件my.cnf
mysql
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/data/mysql/data
# 允许最大连接数
max_connections=1000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=100
# 服务端使用的字符集默认为UTF8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#是否对sql语句大小写敏感,1表示不敏感
lower_case_table_names = 1
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
# sql自动补全
auto-rehash
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
# 设置mysql客户端默认字符集
default-character-set=utf8mb4