Linux 安装 MySQL 编译
2021/5/8 2:25:25
本文主要是介绍Linux 安装 MySQL 编译,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
编译 安装 MySQL
Centos7.6 + MySQL5.7.34
下载地址:https://dev.mysql.com/downloads/mysql/
下载源码包
wget -c https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.34.tar.gz tar -zxvf mysql-boost-5.7.34.tar.gz
创建用户
# 创建用户组和用户,不允许登录 groupadd -r mysql && useradd -r -g mysql -s /sbin/nologin mysql
创建相关目录文件
# 安装目录 mkdir /usr/local/mysql && chown mysql:mysql /usr/local/mysql # 数据存放目录 mkdir /var/lib/mysql && chown mysql:mysql /var/lib/mysql # 日志目录文件 touch /var/log/mysql.log && chown -R mysql:mysql /var/log/mysql.log # 进程 mkdir /var/run/mysqld && chown -R mysql:mysql /var/run/mysqld
预编译
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/var/lib/mysql -DSYSCONFDIR=/etc -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_unicode_ci -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DENABLED_PROFILING=1 -DMYSQL_TCP_PORT=3306 -DWITH_DEBUG=0 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=boost
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql :安装路径 -DMYSQL_DATADIR=/var/lib/mysql :数据文件存放位置 -DSYSCONFDIR=/etc :my.cnf路径 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock :连接数据库socket路径 -DEXTRA_CHARSETS=all :安装所有的字符集 -DDEFAULT_CHARSET=utf8mb4 :默认字符 -DDEFAULT_COLLATION=utf8mb4_unicode_ci :排序集 -DWITH_MYISAM_STORAGE_ENGINE=1 :支持MyIASM引擎 -DWITH_INNOBASE_STORAGE_ENGINE=1 :支持InnoDB引擎 -DWITH_PARTITION_STORAGE_ENGINE=1 :安装支持数据库分区 -DENABLED_LOCAL_INFILE=1 :允许从本地导入数据 -DENABLED_PROFILING=1 : -DMYSQL_TCP_PORT=3306 :端口 -DWITH_DEBUG=0 : -DDOWNLOAD_BOOST=1 :允许下载 -DWITH_BOOST=boost :本地boost路径
编译安装
make && make install
编辑配置文件
vi /etc/my.cnf
[mysql] # 设置mysql客户端默认字符集 default-character-set=utf8mb4 [mysql.server] default-character-set=utf8mb4 [client] # 设置客户端默认字符集 default-character-set=utf8mb4 [mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir=/usr/local/mysql # 设置 mysql数据库的数据的存放目录(MySQL8.0+ 不需要以下配置,系统自己生成即可,否则有可能报错) datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8mb4 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 物理内存过小设置 innodb_buffer_pool_size=64M # 日志和进程 log-error=/var/log/mysql.log pid-file=/var/run/mysqld/mysqld.pid symbolic-links=0 explicit_defaults_for_timestamp=true #skip-grant-tables
初始化MySQL
# 初始化MySQL /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --user=mysql --initialize # 创建软连接 ln -s /usr/local/mysql/bin/mysql /usr/bin # 添加到系统服务 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld # 启动mysql chkconfig --add mysqld chkconfig mysqld on systemctl start mysqld ps -ef | grep mysql
启动
# 查看初始密码 cat /var/log/mysqld.log | grep password # 登录并修改密码 mysql -u root -p ALTER USER 'root'@'localhost' IDENTIFIED BY 'password'; # 开启远程访问 grant all privileges on *.* to 'root'@'%' identified by 'password' with grant option; flush privileges;
这篇关于Linux 安装 MySQL 编译的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-25MySQL报错Duplicate entry '0' for key 'PRIMARY'
- 2024-05-29阿里 Canal 实时同步 MySQL 增量数据至 ClickHouse 数据库
- 2024-05-24在Linux下管理MySQL的大小写敏感性
- 2024-04-26MySQL查出时间比实际晚8小时的解决方案
- 2024-04-01JPA不识别MySQL的枚举类型
- 2024-03-30mysql数据库表卡死解决方法
- 2024-03-15MySQL多数据源笔记5-ShardingJDBC实战
- 2024-03-11natural join mysql
- 2024-03-11关于VS2017,VS2015 中利用 EF使用Mysql 不显示数据源问题解决方案
- 2024-02-26mysql 阿里云xb后缀备份文件恢复-icode9专业技术文章分享