友情参考:
编译安装LNMP之Nginx
https://blog.youkuaiyun.com/liuyuhui_gdtyj/article/details/92006767
编译安装LNMP之PHP
https://blog.youkuaiyun.com/liuyuhui_gdtyj/article/details/92012312
官网:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
下载(免编译包安装)
$ wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-el7-x86_64.tar.gz
$ rpm -qa|grep mariadb
mariadb-libs-5.5.60-1.el7_5.x86_64
$ rpm -e --nodeps mariadb-libs
删除my.cnf、mysql (若存在)
$ rm -f /etc/my.cnf
$ rpm -qa | grep mysql
$ getent passwd mysql || useradd -r -s /bin/nologin mysql
$ tar -zxf mysql-5.7.26-el7-x86_64.tar.gz -C /usr/local/
$ mv /usr/local/{mysql-5.7.26-el7-x86_64,mysql}
$ mkdir -p /mysql/data
$ mkdir -p /mysql/log
$ touch /mysql/log/mysqld.log
$ chown -R mysql:mysql /usr/local/mysql
$ chown -R mysql:mysql /mysql
$ echo ‘PATH=$PATH:/usr/local/mysql/bin’ >> /etc/profile
$ source /etc/profile
$ mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/mysql/data/
2019-06-12T14:51:37.671780Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2019-06-12T14:51:38.357041Z 0 [Warning] InnoDB: New log files created, LSN=45790
2019-06-12T14:51:38.525094Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2019-06-12T14:51:38.586842Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 951103de-8d21-11e9-92b0-000c295534b9.
2019-06-12T14:51:38.588442Z 0 [Warning] Gtid table is not ready to be used. Table ‘mysql.gtid_executed’ cannot be opened.
2019-06-12T14:51:38.589487Z 1 [Note] A temporary password is generated for root@localhost: 5YPh51QCW+Yo
注意–basedir是mysql的安装目录,消息最后一串随机序列是初始密码。
创建配置文件/etc/my.cnf
$ cat > /etc/my.cnf << EOF
[mysqld]
basedir=/usr/local/mysql/
datadir=/mysql/data
socket=/tmp/mysql.sock
user=mysql
symbolic-links=0
lower_case_table_names=1
max_connections=2000
character-set-server=utf8
default-storage-engine=INNODB
max_allowed_packet=16M
[client]
port=3306
[mysqld_safe]
log-error=/mysql/log/mysqld.log
EOF
配置开机启动
$ cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
$ vi /etc/init.d/mysqld,给下面两个变量赋值(46-47行):
basedir=/usr/local/mysql
datadir=/mysql/data
设置可执行权限:
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
systemctl start mysqld
systemctl status mysqld
修改初始密码
$ mysql -u root -p
Enter password: (输入初始化步骤最后一行给出的密码5YPh51QCW+Yo)
mysql> set PASSWORD = PASSWORD(‘Passw0rd’);
mysql> flush privileges;
mysql> quit
参考:
https://blog.youkuaiyun.com/niuxitong/article/details/89915566