# Offline download, out of terminal control
wget -b https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz -o mysql-download.log
# unzip
tar zxf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
# Link
sudo ln -s /opt/mysql-5.7.22-linux-glibc2.12-x86_64/ /opt/mysql
# Install necessary packages
sudo apt-cache search libaio sudo apt-get install libaio1
# Create user group
sudo groupadd mysql sudo useradd -r -g mysql -s /bin/false mysql
# Create server configuration file
cat > /opt/mysql/etc/my.cnf <<CNF [mysqld] basedir=/opt/mysql datadir=/data/mysql port=3306 socket=/data/mysql/mysql.sock max_connections=260 pid-file=/data/mysql/mysql.pid log-error=/data/mysql/error.log CNF
# Initialize the data directory
sudo /opt/mysql/bin/mysqld --defaults-file=/opt/mysql/etc/my.cnf --user=mysql --initialize-insecure
SQL> alter user root@localhost identified by '1';
# start MySQL
sudo /opt/mysql/bin/mysqld --defaults-file=/opt/mysql/etc/my.cnf --user=mysql 2>&1 &
# Create client configuration file
cat >~/.my.cnf <<EOF [client] user=root password = 1 socket =/data/mysql/mysql.sock #Configured in /opt/mysql/etc/my.cnf . for native process communication EOF