数据库
首页 > 数据库> > Linux 安装 MySQL 编译

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;

标签:log,Linux,编译,mysqld,usr,mysql,var,DWITH,MySQL
来源: https://www.cnblogs.com/sivanchan/p/14742915.html