Mysql源码编译安装
Mysql编译安装能够根据需要设定参数,按照需求进行定制安装,并且安装的版本可以根据项目需要灵活选择,整体可配置弹性大。
前提准备
下载 mysql 源码包
到 https://downloads.mysql.com/archives/community/ 下载对应版本的安装包,需要注意的是 mysql5.7 编译安装需要boost 库,可以在官网下载含 boost 的源码包。
安装相关依赖包
sudo yum install -y gcc gcc-c++ cmake ncurses ncurses-devel bison wget openssl-devel.x86_64
创建 mysql 所需目录
mkdir /iddbs/mysql
mkdir /iddbdata/3306/data
mkdir /iddbdata/3306/binlog/
mkdir /iddbdata/3306/logs/
编译安装
配置相关参数
cmake -DCMAKE_INSTALL_PREFIX=/iddbs/mysql -DMYSQL_DATADIR=/iddbdata/3306/data -DMYSQL_UNIX_ADDR=/iddbdata/3306/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_BOOST=boost
# DCMAKE_INSTALL_PREFIX 指定MySQL程序的安装目录
# DMYSQL_DATADIR 数据文件目录
# DMYSQL_UNIX_ADDR socket文件路径
# DDEFAULT_CHARSET 指定服务器默认字符集,默认latin1
# DDEFAULT_COLLATION 指定服务器默认的校对规则,默认latin1_general_ci
源码编译安装
make & make install
准备 mysql 配置文件
# 准备my.cnf文件
[client]
port=3305
socket=/iddbdata/3306/mysql.sock
[mysqld]
port=3306
server-id=1013306
basedir=/iddbs/mysql
plugin-dir=/iddbs/mysql/lib/plugin
datadir=/iddbdata/3306/data
log-bin=/iddbdata/3306/binlog/bin-log
pid-file=/iddbdata/3306/mysql.pid
socket=/iddbdata/3306/mysql.sock
relay-log=/iddbdata/3306/binlog/relay-log
log-error=/iddbdata/3306/logs/mysql-error.log
log_timestamps=system
初始化 mysql
# 如果不加--initialize-insecure,会直接在前台输出密码
/iddbs/mysql/bin/mysqld --defaults-file=/iddbdata/3306/my.cnf --user=euansu --initialize-insecure
启动 mysql
/iddbs/mysql/bin/mysqld_safe --defaults-file=/iddbdata/3306/my.cnf --user=euansu &
连接 mysql
/iddbs/mysql/bin/mysql -uroot -S /iddbdata/3306/mysql.sock
设置 root 账户密码。
set password for root@localhost = password("mysql");
mysql 相关操作
# 设置mysql密码
set password for root@localhost = password("mysql");
# 创建数据库
create database idbcdb;
# 创建mysql用户
create user 'euansu'@'%' identified by 'euansu';
# 刷新权限
flush privileges;
# 用户赋予mysql远程操作的所有权限
grant all privileges on *.* to euansu@'%';
# 查看用户euansu的权限域
show grants for euansu@'%';