1、目前主要提供三种方式安装:
I、源码编译包 ( 50M ),需要boost 库支持
II、绿色版(二进制)
III、rpm合集包
2、源码编译 MySQL 所需的包:
mysql-5.7.33.tar.gz ## 主程序包boost_1_59_0.tar.gz ## 提供 boost 库
3、安装相关编译工具
yum -y install cmake gcc-c++ ncurses-devel openssl openssl-devel
4、编译安装需要创建 mysql 用户(rpm安装会自动创建)
groupadd -g 27 mysqluseradd -u 27 -g mysql -M -s sbin/nologin mysql
5、创建数据库存放目录
mkdir data/mysqlchown mysql:mysql data/mysql/
6、把安装包下载到 usr/local/src/ 目录下解压
解压后把 boost_1_59_0 改名为 boots 并移动到 local 目录下
进入到 mysql-5.7.33 目录下编译
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.7 -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=/usr/local/boost -DWITH_INNODB_MEMCACHED=ON
cmake 参数解析 ,详细见附录
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.7 ## 指定安装路径-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-DWITH_ARCHIVE_STORAGE_ENGINE=1-DWITH_BLACKHOLE_STORAGE_ENGINE=1-DWITH_MEMORY_STORAGE_ENGINE=1-DDOWNLOAD_BOOST=1-DWITH_BOOST=/usr/local/boost ## 指定Boost扩展源码路径
如果出错重新运行配置,需要删除 CMakeCache.txt文件,使用命令: rm -f 或 删除目录 mysql-5.7.33 重新解压 cmak
make && make install
7、默认主配置文件
/etc/my.cnf
配置文件模板
[client] ## 客户端读取port=3306socket=/data/mysql/mysql.sock[mysqld] ## 服务器读取character-set-server=utf8collation-server=utf8_general_ciskip-name-resolveuser=mysqlport=3306basedir=/usr/local/mysql-5.7datadir=/data/mysqltmpdir=/tmpsocket=/data/mysql/mysql.socklog-error=/data/mysql/mysqld.logpid-file=/data/mysql/mysqld.pid
8、初始化数据库
/usr/local/mysql-5.7/bin/mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql
ls data/mysql 有文件更新
初始化失败则清空 mysql 目录,保证为空目录,再次初始化
9、启动 MySQL 服务 并 查看端口
/usr/local/mysql-5.7/support-files/mysql.server startnetstat -ntl
10、mysql-5.7 版本有随机密码,在日志文件中
cat data/mysql/mysqld.log | grep password
使用随机密码登录
/usr/local/mysql-5.7/bin/mysql -pEnterPassword: 粘贴密码
修改 密码 刷新配置
alter user 'root'@'localhost' identified by '123123';flush privileges;
## 启动 MySQL 服务
usr/local/mysql-5.7/support-files/mysql.server start
## 进入MySQL
/usr/local/mysql-5.7/bin/mysql -uroot -p
扩展:
忘记 root 密码
配置文件设置 服务器标签 跳过密码登录
[mysqld]skip-grant-tables
重启服务
/usr/local/mysql-5.7/support-files/mysql.server restart
修改密码(因跳过密码登录这里用不了 alter 修改密码)
update mysql.user set authentication_string=password('123123') where user='root' and host='localhost';
更新修改时间(alter 会连时间一起修改,但这里用 update)
update mysql.user set password_last_changed=now() where user='root' and host='localhost';
退出,配置文件注释掉 skip-grant-tables, 重启 , 使用新密码登录
步骤:修改配置文件-->重启服务-->改密码-->更新改密码时间-->还原配置文件-->重启服务-->使用密码登录




