源码快速安装MySQL5.7
http://www.boost.org/users/history ;选择1.59.0版本下载
==推荐源码包:mysql-5.7.19.tar.gz boost_1_59_0.tar.gz ==
1.准备c++ boost库,不需要编译
tar xvf boost_1_59_0.tar.gz
mv boost_1_59_0 /usr/local/boost
2.源码安装MySQL5.7
tar xvf mysql-5.7.19.tar.gz -C /usr/local/src
cd /usr/local/src/mysql-5.7.19
3.安装相关编译工具和依赖包
yum install -y gcc-c++ cmake ncurses-devel
4.创建mysql用户来运行MySQL数据库,不创建mysql的家目录并禁止其登录系统
groupadd -g 27 mysql
useradd mysql -u 27 -g mysql -M -s /sbin/nologin
5.创建存放数据的目录并改变相关权限
mkdir -p /data/mysql
chown mysql:mysql /data/mysql
6.预编译
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql57 -DMYSQL_DATADIR=/data/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=boost -DWITH_INNODB_MEMCACHED=ON
7.编译
make
8.编译安装
make install
9.创建my.cnf配置文件
mv /etc/my.cnf /etc/my.cnf.bak //先备份
cat >/etc/my.cnf<<EOF
[client]
port=3306
socket=/data/mysql/mysql.sock
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
skip-name-resolve
user=mysql
port=3306
basedir=/usr/local/mysql57
datadir=/data/mysql
tmpdir=/tmp
socket=/data/mysql/mysql.sock
log-error=/data/mysql/mysqld.log
pid-file=/data/mysql/mysqld.pid
EOF
10.将编译好的/usr/local/mysql57/bin里面的命令,加入到 $PATH 变量中
echo "export PATH=\$PATH:/usr/local/mysql57/bin" >> /etc/profile
source /etc/profile
#注意:如果用脚本来安装MySQL5.7数据库,在脚本执行完成后,需要重新执行source /etc/profile
11.初始化MySQL数据库
/usr/local/mysql57/bin/mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql
12.启动MySQL数据库
/usr/local/mysql57/support-files/mysql.server start
13.查看MySQL数据库运行状态
/usr/local/mysql57/support-files/mysql.server status
14.查找 root 用户的初始密码
== "A temporary password is generated for root@localhost: "后面的字段就是 root 用户的初始密码==
cat /data/mysql/mysqld.log | grep root
2019-10-10T07:18:53.141237Z 1 [Note] A temporary password is generated for root@localhost: yg*baqh6di4G
如这里的yg*baqh6di4G 就是初始密码
15.修改 root 用户的初始密码
/usr/local/mysql57/bin/mysql -uroot -p"你本机生成的初始密码"
mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye
用新密码登录 MySQL 数据库
[root@HGH]# /usr/local/mysql57/bin/mysql -uroot -p"123456"
mysql>