Notas de operación y mantenimiento de Mysql
Se lanzó la versión oficial de MySQL 8 8.0.11. El funcionario dijo que MySQL 8 es 2 veces más rápido que MySQL 5.7, ¡y también trae muchas mejoras y un rendimiento más rápido!
Antes de Mysql 5.7, se usaba utf8, después de 8.0, se usaba la codificación predeterminada para usar utf8mb4, utf8mb4 es más completo, incluido utf8
Inicialización del servidor
#Ajustar intercambio
echo 0> / proc / sys / vm / swappiness
vim /etc/sysctl.conf
vm.swappiness = 0
#Paquete de instalación
yum install -y cmake gcc gcc-c ++ ncurses ncurses-devel bison zlib zlib-devel libxml openssl openssl-devel automake autoconf make libtool bison-devel libaio-devel
#Crear usuario
useradd -s / sbin / nologin mysql
Descomprime el archivo después de descargarlo
#下载
cd /opt
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz
# 解压分两步
xz -d mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz
tar xf mysql-8.0.23-linux-glibc2.12-x86_64.tar
mv mysql-8.0.23-linux-glibc2.12-x86_64 /usr/local/mysql
Configuración del sistema
#MysqlFile Directory
cd / usr / local /
chown -R mysql. mysql#Directorio de datos
mkdir -p / data / mysql / 3306 / data / data / mysql / 3306 / binlog
chown -R mysql. / data / mysql
#Modificar las variables de entorno
vim /etc/profile.d/mysql.sh
export PATH = / usr / local / mysql / bin: $ PATH
fuente /etc/profile.d/mysql.sh
Comience con la asociación del sistema
vim /etc/systemd/system/mysqld.service
[Unidad]
Descripción =
Documentación del servidor MySQL = man: mysqld (8)
Documentation = http: //dev.mysql.com/doc/refman/en/using-systemd.html
Después = network.target
After = syslog.target
[Install]
WantedBy = multi-user.target
[Service]
User = mysql
Group = mysql
ExecStart = / usr / local / mysql / bin / mysqld --defaults-file = / data / mysql /3306/my.cnf
LimitNOFILE = 5000systemctl daemon-reload
systemctl habilitar mysqld
Archivo de configuración de mysql
cat my.cnf
[cliente]
puerto = 3306
socket = /data/mysql/3306/mysql.sock[mysqld]
basedir = / usr / local / mysql
datadir = / data / mysql / 3306 /
puerto de datos = 3306
socket = /data/mysql/3306/mysql.sock
log-error = /data/mysql/3306/mysql_error.log
pid-file = /data/mysql/3306/mysql.pid
log-bin = / data / mysql / 3306 / binlog / binlogskip-host-cache
skip-name-resolve
# Espacio de tabla independiente
innodb_file_per_table = 1
#
Grupo de memoria innodb_buffer_pool_size = 2G
innodb_flush_log_at_trx_commit = 1innodb_flush_method = O_DIRECT
[mysqld_safe]
Inicializar la base de datos
mysqld --defaults-file = / data / mysql / 3306 / my.cnf --initialize --user = mysql
# Habrá una contraseña en el registro
grep "contraseña" /data/mysql/3306/mysql_error.log
C9O3 + 1 y c671S
#Iniciar la base de datos
systemctl iniciar mysqld
Operación básica de mysql
#第一次登陆需要修改密码
mysql -uroot -p -S mysql.sock
mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> alter user root@'localhost' identified by '123456';
Query OK, 0 rows affected (0.01 sec)
# 创建用户 5.6/5.7 中直接grant 带账号以及授权已无法使用
mysql> create user root@'10.10.10.%' identified by '123456';
mysql> grant all on *.* to root@'10.10.10.%';
#连接数据库
mysql -uroot -p -S mysql.sock
mysql -uroot -p -hxxx -Pxxx