CentOS7安装MySQL 5.7

1、源码包下载

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.20.tar.gz

2、编译安装

安装依赖包:
    yum install cmake bison libaio-devel gcc gcc-c++ ncurses ncurses-devel  -y
创建临时目录:
    cd mysql-5.7.20/
    mkdir debug
    编译:cmake .. -DBUILD_CONFIG=mysql_release 
  -DINSTALL_LAYOUT=STANDALONE 
  -DCMAKE_BUILD_TYPE=RelWithDebInfo 
  -DENABLE_DTRACE=OFF 
  -DWITH_EMBEDDED_SERVER=OFF 
  -DWITH_INNODB_MEMCACHED=ON 
  -DWITH_SSL=bundled 
  -DWITH_ZLIB=system 
  -DWITH_PAM=ON 
  -DCMAKE_INSTALL_PREFIX=/home/mysql 
  -DINSTALL_PLUGINDIR="/home/mysql/lib/plugin" 
  -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci 
  -DWITH_EDITLINE=bundled 
  -DFEATURE_SET=community 
  -DCOMPILATION_COMMENT="MySQL Server (GPL)" 
  -DWITH_DEBUG=OFF 
  -DWITH_BOOST=../boost

    安装:make -j 8 && make install

3、安装成功如下

-- Installing: /home/mysql/mysql-test/./t/xa.test
-- Installing: /home/mysql/mysql-test/./t/xa_debug.test
-- Installing: /home/mysql/mysql-test/./t/xa_gtid-master.opt
-- Installing: /home/mysql/mysql-test/./t/xa_gtid.test
-- Installing: /home/mysql/mysql-test/./t/xa_prepared_binlog_off-master.opt
-- Installing: /home/mysql/mysql-test/./t/xa_prepared_binlog_off.test
-- Installing: /home/mysql/mysql-test/./t/xml.test
-- Installing: /home/mysql/mysql-test/./valgrind.supp
-- Installing: /home/mysql/./COPYING-test
-- Installing: /home/mysql/./README-test
-- Installing: /home/mysql/mysql-test/mtr
-- Installing: /home/mysql/mysql-test/mysql-test-run
-- Installing: /home/mysql/mysql-test/lib/My/SafeProcess/my_safe_process
-- Up-to-date: /home/mysql/mysql-test/lib/My/SafeProcess/my_safe_process
-- Installing: /home/mysql/mysql-test/lib/My/SafeProcess/Base.pm
-- Installing: /home/mysql/support-files/mysqld_multi.server
-- Installing: /home/mysql/support-files/mysql-log-rotate
-- Installing: /home/mysql/support-files/magic
-- Installing: /home/mysql/share/aclocal/mysql.m4
-- Installing: /home/mysql/support-files/mysql.server

4、创建配置文件

mkdir /home/{mysql_data, mysql_log}
vim /home/mysql_data/my.cnf
[mysqld]
port=3306
datadir=/home/mysql_data
log_error=/home/mysql_log/error.log
basedir=/home/mysql

5、创建MySQL库

添加用户:
groupadd mysql
useradd -g mysql mysql -s /sbin/nologin

6、启动数据库

初始化:
./bin/mysqld --defaults-file=/etc/my.cnf --basedir=/home/mysql --datadir=/home/mysql_data --user=mysql --initialize
启动:
/home/mysql/bin/mysqld --defaults-file=/home/mysql_data/my.cnf --user=mysql 查看进程: [root@master2 home]# ps aux | grep mysql mysql 9356 2.0 1.1 1188484 180208 pts/0 Sl+ 14:45 0:00 /home/mysql/bin/mysqld --defaults-file=/etc/my.cnf --user=mysql

 7、登录数据库

查看初始密码:
[root@master2 home]# grep "root@localhost" /home/mysql_log/error.log 
2018-09-04T06:41:21.468338Z 1 [Note] A temporary password is generated for root@localhost: 5#3vslHQt;m-

登录数据库并修改密码:
[root@master2 home]# mysql -uroot -p5#3vslHQt;m-
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
-bash: m-: command not found
[root@master2 home]# mysql -uroot -p"5#3vslHQt;m-"
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 4
Server version: 5.7.20

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

mysql> SET PASSWORD="ROOT_NEW_PASSWORD";
Query OK, 0 rows affected (0.00 sec)

mysql> ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

 8、官方文档

 

原文地址:https://www.cnblogs.com/dukuan/p/9584357.html