- ######### 安装 mysql######
- yum -y install \
- ncurses \
- ncurses-devel \
- bison \
- cmake
- .
- useradd -s /sbin/nologin mysql ### 创建 mysql 用户
- .
- ### 上传 mysql-boost-5.7.20.tar.gz 到 opt 目录下 ###
- cd /opt
- tar xf mysql-boost-5.7.20.tar.gz
- cd /opt/mysql-5.7.20/
- ### 配置 ###
- cmake \
- -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
- -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
- -DSYSCONFDIR=/etc \
- -DSYSTEMD_PID_DIR=/usr/local/mysql \
- -DDEFAULT_CHARSET=utf8 \
- -DDEFAULT_COLLATION=utf8_general_ci \
- -DWITH_INNOBASE_STORAGE_ENGINE=1 \
- -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
- -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
- -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
- -DMYSQL_DATADIR=/usr/local/mysql/data \
- -DWITH_BOOST=boost \
- -DWITH_SYSTEMD=1
- .
- .
注意: 如果在 CMAKE 的过程中有报错, 当报错解决后, 需要把源码目录中的 CMakeCache.txt 文件删除, 然后再重新 CMAKE, 否则错误依旧
- .
- make && make install ### 编译安装
- .
- chown -R mysql:mysql /usr/local/mysql/ ### 更改所有者
- .
- vi /etc/my.cnf #### 建立 MySQL 配置文件
- .
- [client]
- port = 3306
- default-character-set=utf8
- socket = /usr/local/mysql/mysql.sock
- .
- [mysql]
- port = 3306
- default-character-set=utf8
- socket = /usr/local/mysql/mysql.sock
- .
- [mysqld]
- user = mysql
- basedir = /usr/local/mysql
- datadir = /usr/local/mysql/data
- port = 3306
- character_set_server=utf8
- pid-file = /usr/local/mysql/mysqld.pid
- socket = /usr/local/mysql/mysql.sock
- server-id = 1
- .
- sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES
- .
- .
- chown mysql:mysql /etc/my.cnf ### 修改该配置文件的所有者
- .
- #### 设置环境变量 ####
- echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH'>> /etc/profile
- echo 'export PATH'>> /etc/profile
- source /etc/profile
- .
- cd /usr/local/mysql/
- .
- bin/mysqld \ #### 初始化数据库
- --initialize-insecure \
- --user=mysql \
- --basedir=/usr/local/mysql \
- --datadir=/usr/local/mysql/data
- .
- cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/ ### 添加系统服务
- systemctl daemon-reload ##### 重新载入 systemd, 扫描新的或有变动的单元
- systemctl start mysqld ### 启动服务
- netstat -anpt | grep 3306 ### 查看服务端口
- .
- systemctl enable mysqld ### 开机自动启动 mysqld
- .
- mysqladmin -u root -p password "abc123" // 刚开始没密码是空的直接回车, 然后输入密码 abc123, 在此确认 abc123, 这是在 root 账户下运行的
- .
- mysql -u root -p ## 这个命令敲下, 提示要输入密码, 这个就是刚才设置的密码 abc123
来源: http://www.bubuko.com/infodetail-2724737.html