centos安装mysql8

检查是否有mariadb

c 复制代码
rpm -qa|grep mariadb
rpm -e --nodeps mariadb-server

安装mysql-8.0.31-el7-x86_64.tar.gz包

安装mysql-8.0.31-el7-x86_64.tar.gz包

c 复制代码
cd data

tar -xvf  mysql-8.0.31-el7-x86_64.tar.gz

mv mysql-8.0.31-el7-x86_64 mysql 

依赖安装

复制代码
 报错解决,安装依赖 yum install -y libaio 
还有报错,安装依赖 yum -y install numactl

修改mysql配置

vi /etc/my.cnf 覆盖以下全部内容,注意格式

c 复制代码
[client]
port=3306
socket=/data/tmp/mysql/mysql.sock

[mysqld]
port=3306
user=mysql
socket=/data/tmp/mysql/mysql.sock
basedir=/data/mysql
datadir=/data/mysql/data
log-error=error.log 

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
max_connections = 4096

transaction_isolation = READ-COMMITTED
character-set-server = utf8mb4
#collation-server = utf8mb4_general_ci
collation-server = utf8mb4_bin
lower_case_table_names = 1

#生产环境注释
skip-grant-tables

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

[mysqld_safe]
log-error=/data/tmp/mysql/log/mysqld.log
pid-file=/data/tmp/mysql/run/mysqld/mysqld.pid


#log-error=/var/log/mysqld.log
#pid-file=/var/run/mysqld/mysqld.pid


#my.ini配置文件中更改允许的最大错误连接数
max_connect_errors = 8000

初始化mysql配置

复制代码
groupadd mysql
$> useradd -r -g mysql -s /bin/false mysql
$>		mkdir -p /data/tmp/mysql/log 
$>        touch /data/tmp/mysql/log/mysqld.log 
$>       chown -R mysql:mysql /data/tmp/mysql 
$>       chown -R mysql:mysql /data/mysql
$>       chmod -R 755 /data/tmp/mysql /data/mysql
$> cd /usr/local
$> tar xvf mysql-8.0.31-el7-x86_64.tar.gz
$> ln -s mysql-8.0.31-el7-x86_64.tar.gz mysql
$> cd mysql
$> bin/mysqld --initialize --user=mysql
$> bin/mysql_ssl_rsa_setup
$> bin/mysqld_safe --user=mysql &
# Next command is optional
$> cp support-files/mysql.server /etc/init.d/mysql.server

/etc/init.d/mysql.server start

快捷链接

复制代码
export PATH=${PATH}:/data/mysql/bin

修改密码

复制代码
$> mysql
mysql> FLUSH PRIVILEGES;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

注释掉/etc/my.cnf文件的skip-grant-tables

修改host域及密码修改

复制代码
  mysql -u root -p  (密码登陆)
  alter user 'root'@'localhost' identified by '123456';
  use mysql;
  update user set host='%' where user='root';
  flush privileges;

root忘记密码

开启skip-grant-tables

同上面的修改密码一样,不过得知道host域

复制代码
mysql> ALTER USER 'root'@'%' IDENTIFIED BY 'MyNewPass';
相关推荐
愚润求学4 分钟前
【Linux】网络基础
linux·运维·网络
bantinghy34 分钟前
Linux进程单例模式运行
linux·服务器·单例模式
小和尚同志1 小时前
29.4k!使用 1Panel 来管理你的服务器吧
linux·运维
帽儿山的枪手2 小时前
为什么Linux需要3种NAT地址转换?一探究竟
linux·网络协议·安全
就叫飞六吧9 天前
基于keepalived、vip实现高可用nginx (centos)
python·nginx·centos
shadon1789 天前
回答 如何通过inode client的SSLVPN登录之后,访问需要通过域名才能打开的服务
linux
小米里的大麦9 天前
014 Linux 2.6内核进程调度队列(了解)
linux·运维·驱动开发
算法练习生9 天前
Linux文件元信息完全指南:权限、链接与时间属性
linux·运维·服务器
忘了ʷºᵇₐ9 天前
Linux系统能ping通ip但无法ping通域名的解决方法
linux·服务器·tcp/ip
浩浩测试一下9 天前
渗透测试指南(CS&&MSF):Windows 与 Linux 系统中的日志与文件痕迹清理
linux·运维·windows·安全·web安全·网络安全·系统安全