MySQL5.7安装
1、MySQL5.7:安装在 CentOS Linux release 7.7.1908
2、MySQL5.7版本下载和安装说明
Mysql5.7版本更新后有很多变化,比如json等,连安装都有变化,MySQL安装必须要BOOST库,
不过mysql的官网源码有带boost库的源码和不带boost库的源码两种,因此有两种安装方式,
其实都是一样的,仅仅是不带boost库源码的需要单独安装boost,这里以带boost安装实例说明。
3、MySQL下载安装地址
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.27.tar.gz
wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.27.tar.gz
MySQL和mysql-boost官网下载地址:https://downloads.mysql.com/archives/community/
4、MySQL编译环境依赖安装
yum -y install gcc gcc-c++ ncurses ncurses-devel cmake
5、MySQL安装,软件安装包存放在/usr/local/src
1)创建mysql组合用户
groupadd mysql
useradd -g mysql mysql -s /bin/false
2)创建安装目录和mysql数据存放目录
1)安装目录
mkdir -p /data/mysql
2)数据存放目录
mkdir -p /data/mysql/data
3)为数据库存放目录设置mysql 用户权限
chown -R mysql:mysql /data/mysql/data/
4)创建配置文件存放目录
mkdir /data/mysql/etc
3)开始解压安装
cd /usr/local/src
tar zxf mysql-5.7.27.tar.gz
tar zxf mysql-boost-5.7.27.tar.gz
cd mysql-5.7.27/
cmake . -DCMAKE_INSTALL_PREFIX=/data/mysql/ -DMYSQL_DATADIR=/data/mysql/data/ -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/src/mysql-5.7.27/boost/ -DSYSCONFDIR=/data/mysql/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysql3306.sock -DMYSQL_TCP_PORT=3306 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=utf8
make
make install
1)添加环境变量
vim /etc/profile
环境变量内部
export PATH=$PATH:/data/mysql/bin/
source /etc/profile
2)使用--initialize-insecure 初始化不会生成密码
/data/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/data/mysql/ --datadir=/data/mysql/data/
3)使用--initialize 会初始化一个密码
/data/mysql/bin/mysqld --initialize --user=mysql --basedir=/data/mysql/ --datadir=/data/mysql/data/
set password=password('新密码'); 修改初始化密码
注:[Note] A temporary password is generated for root@localhost: Xcw0igenlQ,S 这里的Xcw0igenlQ,S是初始化密码
4)复制启动脚本,添加权限
1、原始chkconfig开机启动和init.d下面启动方式
cp -fr /usr/local/src/mysql-5.7.27/support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
chkconfig mysqld on
2、systemctl方式启动MySQL
复制配置文件到系统服务配置
cp support-files/mysql.server /etc/init.d/mysql
重新加载系统服务配置
systemctl daemon-reload
启动mysql服务
systemctl start mysql
下面列出其余systemctl命令(不用运行)
查看mysql服务状态
systemctl status mysql
停止mysql服务
systemctl stop mysql
重新启动mysql服务
systemctl restart mysql
配置mysql开机自动启动
systemctl enable mysql
配置mysql开机不自动启动
systemctl disable mysql
5)修改/etc/init.d/mysqld 配置文件
basedir=/data/mysql
datadir=/data/mysql/data
注:上面的路径需要根据自己的安装情况填写,basedir是mysql安装目录,datadir是mysql 数据存放目录
6)启动mysql 报错:
Starting MySQL.2020-01-09T07:49:25.097522Z mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.
这个是权限问题,增加权限配置,
mkdir /var/log/mariadb/
touch /var/log/mariadb/mariadb.log
chown -R mysql:mysql /var/log/mariadb/
6、编译安装参数说明:
安装路径
-DCMAKE_INSTALL_PREFIX=/data/mysql
数据文件存放位置
-DMYSQL_DATADIR=/data/mysql/data
my.cnf路径
-DSYSCONFDIR=/data/mysql
支持InnoDB引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1
支持MyIASM引擎
-DWITH_MYISAM_STORAGE_ENGINE=1
允许从本地导入数据
-DENABLED_LOCAL_INFILE=1
快捷键功能(我没用过)
-DWITH_READLINE=1
连接数据库socket路径
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock
端口
-DMYSQL_TCP_PORT=3306
安装所有的字符集
-DEXTRA_CHARSETS=all
默认字符
- DDEFAULT_CHARSET=utf8
校验字符
-DDEFAULT_COLLATION=utf8_general_ci
会自动下载boost
-DDOWNLOAD_BOOST=1
指定boost目录
-DWITH_BOOST=/usr/local/boost
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!