1 , téléchargez le paquet binaire
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
2 , l' extrait et la configuration initiale
# Décompressez paquets binaires
tar -zxvf mysql-7.5.23-linux-glibc2.12-x86_64.tar.gz
# Déplacé au répertoire / usr / local répertoire renommage
mv mysql-5.7.23-linux-glibc2.12-x86_64 / usr / local /
cd / usr / local && mv mysql-5.7.23-linux-glibc2.12-x86_64 mysql5.7
# Supprimer les fichiers inutiles et des répertoires
cd mysql5.7 /
rm homme docs CONFING README
# Vérifiez l'environnement et l'utilisateur ( par exemple, ne pas avoir besoin d'ajouter)
grep mysql / etc / passwd
qui mysql
Remarque: L'ajout des variables d'environnement
vim / etc / profile
PATH = $ PATH: / usr / local / mysql5.7 / bin
Ajouter un utilisateur
useradd -g mysql -s / sbin / nologin -M mysql
# Créer des données, la configuration et répertoire des journaux , et autorisé à mysql utilisateur et mysql groupe
/data/app/mysql5.7/{data,conf,logs mkdir}
chown -R mysql.mysql /data/app/mysql5.7
# Initialiser (port est pas lourd sur elle)
cat /data/app/mysql5.7/conf/ 13306 .cnf
[Mysqld]
user = mysql
port = 13306
socket = /data/app/mysql5.7/mysql.sock
basedir = /usr/local/mysql5.7
datadir = /data/app/mysql5.7/data
skip-name-resolve
symbolic-links = 0
pid-file = /data/app/mysql5.7/mysqld.pid
log-error = / data / app / mysql5.7 / logs / mysqld.log
server_id = 13306
[Mysqld_safe]
log-error = / data / app / mysql5.7 / logs / mysqld.log
cd /usr/local/mysql5.7/bin
./ mysqld --defaults-file = / data / app / mysql5.7 / conf / 13306.cnf --initialize à l' insécurité --basedir = / usr / local / mysql5.7 / --datadir = / data / app / mysql5.7 / données
Note: --initialize dans l'insécurité: initialiser la racine le mot de passe est vide
3 , écrire un fichier de configuration, démarrez mysql le service
# Profils
cat /data/app/mysql5.7/conf/my.cnf
[client]
port = 13306
socket = /data/app/mysql5.7/mysql.sock
default_character_set = utf8mb4
[mysql]
auto-rehash
[mysqld]
character_set_server = utf8mb4
user = mysql
port = 13306
socket = /data/app/mysql5.7/mysql.sock
basedir = /usr/local/mysql5.7
datadir = /data/app/mysql5.7/data
skip-name-resolve
open_files_limit = 1024
back_log = 600
max_connections = 1000
max_connect_errors = 3000
explicit_defaults_for_timestamp = true
external-locking = FALSE
max_allowed_packet = 8M
sort_buffer_size = 1M
join_buffer_size = 1M
thread_cache_size = 100
query_cache_size = 2M
query_cache_limit = 1M
query_cache_min_res_unit = 2k
thread_stack = 192K
tmp_table_size = 2M
max_heap_table_size = 2M
long_query_time = 1
log-error = /data/app/mysql5.7/logs/mysqld.log
#log-slow-queries = /data/app/mysql5.7/logs/slow.log
pid-file = /data/app/mysql5.7/mysql.pid
log-bin = /data/app/mysql5.7/logs/mysql-bin
relay-log = /data/app/mysql5.7/logs/relay-bin
relay-log-info-file = /data/app/mysql5.7/relay-log.info
binlog_cache_size = 1M
max_binlog_cache_size = 1M
max_binlog_size = 2M
expire_logs_days = 7
key_buffer_size = 16M
read_buffer_size = 1M
read_rnd_buffer_size = 1M
bulk_insert_buffer_size = 1M
lower_case_table_names = 1
slave-skip-errors = 1032,1062
replicate-ignore-db=mysql
server-id = 13306
innodb_buffer_pool_size = 32M
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 2M
innodb_log_file_size = 4M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
innodb_file_per_table = 0
slow_query_log = 1
[mysqldump]
quick
max_allowed_packet = 2M
[mysqld_safe]
log-error=/data/app/mysql5.7/logs/mysqld.log
pid-file=/data/app/mysql5.7/mysqld.pid
#启动文件
cat /usr/local/mysql5.7/mysqld
#!/bin/sh
################################################
#this scripts is created by lrj at 2020-04-06
#starting mysqld
################################################
#init
cnf_dir=/data/app/mysql5.7/conf
mysql_user="root"
mysql_pwd="12345678"
CmdPath="/usr/local/mysql5.7/bin"
mysql_sock="/data/app/mysql5.7/mysql.sock"
#startup function
function_start_mysql()
{
if [ ! -e "$mysql_sock" ];then
printf "Starting MySQL...\n"
/bin/sh ${CmdPath}/mysqld_safe --defaults-file=${cnf_dir}/my.cnf 2>&1 > /dev/null &
else
printf "MySQL is running...\n"
exit
fi
}
#stop function
function_stop_mysql()
{
if [ ! -e "$mysql_sock" ];then
printf "MySQL is stopped...\n"
exit
else
printf "Stoping MySQL...\n"
${CmdPath}/mysqladmin -u ${mysql_user} -p${mysql_pwd} -S ${mysql_sock} shutdown
fi
}
#restart function
function_restart_mysql()
{
printf "Restarting MySQL...\n"
function_stop_mysql
sleep 2
function_start_mysql
}
case $1 in
start)
function_start_mysql
;;
stop)
function_stop_mysql
;;
restart)
function_restart_mysql
;;
*)
printf "Usage: /usr/local/mysql5.7/mysqld {start|stop|restart}\n"
esac
#启动mysql
cd /usr/local/mysql5.7 && ./mysqld start
检查服务是否启动
netstat -tlpn|grep 13306
注:如服务没启动成功,可以检查“log-error = /data/app/mysql5.7/logs/mysqld.log”里的ERROR信息,修改配置文件,再启动。
4、设置mysql数据库root密码,添加用户
mysql -uroot -P 13306 -S /data/app/mysql5.7/mysql.sock
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.23-log MySQL Community Server (GPL)
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MySQL [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
MySQL [(none)]> use mysql;
MySQL [mysql]> update mysql.user set authentication_string=password('12345678') where user='root' and Host ='localhost';
Query OK, 1 row affected, 1 warning (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 1
MySQL [mysql]> flush privileges;
Query OK, 0 rows affected (0.01 sec)
MySQL [mysql]> select host,user,authentication_string from user;
+-----------+---------------+-------------------------------------------+
| host | user | authentication_string |
+-----------+---------------+-------------------------------------------+
| localhost | root | *84AAC12F54AB666ECFC2A83C676908C8BBC381B1 |
| localhost | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| localhost | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
+-----------+---------------+-------------------------------------------+
MySQL [mysql]> grant all privileges on *.* to 'root'@'%' identified by "12345678";
Query OK, 0 rows affected, 1 warning (0.00 sec)
MySQL [mysql]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MySQL [mysql]> select host,user,authentication_string from user;
+-----------+---------------+-------------------------------------------+
| host | user | authentication_string |
+-----------+---------------+-------------------------------------------+
| localhost | root | *84AAC12F54AB666ECFC2A83C676908C8BBC381B1 |
| localhost | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| localhost | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| % | root | *84AAC12F54AB666ECFC2A83C676908C8BBC381B1 |
+-----------+---------------+-------------------------------------------+
4 rows in set (0.00 sec)
MySQL [mysql]> quit
Bye