CentOs7成功安装mysql5.7
1.卸载原系统中的mariadb……
首先执行命令rpm -qa|grep mariadb查看是否有mariadb的安装包,没有可以不管
rpm -qa|grep mariadb
接下来,执行 rpm -e --nodeps mariadb-libs删除它
rpm -e --nodeps mariadb-libs
2. 下载mysql5.7安装包
1.前往官方网站复制yum源链接Mysql官网
执行wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm(即你复制的下载链接)进行下载
yum install wget
wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
2.进行yum源安装
执行rpm -ivh mysql80-community-release-el7-1.noarch.rpm命令
rpm -ivh mysql80-community-release-el7-1.noarch.rpm
接下来可以通过yum repolist all | grep mysql查看yum源中的mysql安装包
yum repolist all | grep mysql
如果报错先执行yum -y install yum-utils
yum -y install yum-utils
在这里插入图片描述
可以看到yum源中默认启用的安装包版本为MySQL8.0,如果需要切换为5.7,需要运行以下命令;
yum-config-manager --disable mysql80-community
yum-config-manager --enable mysql57-community
接下来可以开始进行安装步骤,执行命令
yum install mysql-community-server
进行安装,需要依赖安装时选择y就ok
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
4. 启动mysql服务
执行命令systemctl start mysqld.service来启动mysql服务,systemctl status mysqld.service可查看mysql服务运行状态
systemctl start mysqld.service
systemctl status mysqld.service
将’root’@‘localhost’ 创建一个超级用户帐户。设置超级用户的密码并将其存储在错误日志文件中。要显示它,请使用以下命令:
grep 'temporary password' /var/log/mysqld.log
通过使用生成的临时密码登录并为超级用户帐户设置自定义密码,尽快更改root密码:
mysql -u root -p
输入以上临时密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '您的临时密码';
flush privileges;
如果您需要修改简单密码,可以依次执行以下操作步骤:
注意
MySQL的 validate_password 插件默认安装。这将要求密码包含至少一个大写字母,一个小写字母,一个数字和一个特殊字符,并且密码总长度至少为8个字符。
set global validate_password_policy=0;
set global validate_password_length=1;
set global validate_password_mixed_case_count=2;
-- 然后进行密码更改您的密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION;
- 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.13.124' IDENTIFIED BY '123456' WITH GRANT OPTION;
【下面这一句一定要执行,否则还是无法登陆】
flush privileges;
GRANT SELECT,DELETE,UPDATE,CREATE,DROP ON *.* TO ROOT@"%" IDENTIFIED BY "123456";
如果用户无法从本地登陆,这个时候就执行如下
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost.localdomain' IDENTIFIED BY '123456' WITH GRANT OPTION;
别忘了加上如下的语句
flush privileges;
这时候MySQL基本上就配置完成了!
查看3306端口是否已开放
netstat -nupl|grep 3306
开放3306端口并重启防火墙
方案一:外网访问es需要关闭es所在机子的防火墙。
centos7 防火墙状态查看、关闭、打开命令:
firewall-cmd --state #防火墙状态查看
systemctl stop firewalld.service #防火墙关闭
systemctl start firewalld.service #打开防火墙
systemctl disable firewalld.service 开机禁用
systemctl enable firewalld.service 开机启用
方案二:开启3306端口
查询3306端口是否开放
firewall-cmd --query-port=3306/tcp
开放3306端口
firewall-cmd --permanent --add-port=3306/tcp
移除3306端口
firewall-cmd --permanent --remove-port=3306/tcp
重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
vi /etc/my.cnf
添加高效率查询配置
wait_timeout=2147483
interactive_timeout=2147483
max_connections = 20000
max_connect_errors = 6000
open_files_limit = 65535
table_open_cache = 512
max_allowed_packet = 2G
binlog_cache_size = 1M
max_heap_table_size = 8M
tmp_table_size = 64M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
sort_buffer_size = 8M
join_buffer_size = 8M
key_buffer_size = 512M
thread_cache_size = 32
query_cache_size = 128M
default-storage-engine=INNODB
innodb_file_per_table = 1
innodb_open_files = 500
innodb_buffer_pool_size = 4G
innodb_write_io_threads = 4
innodb_read_io_threads = 4
innodb_thread_concurrency = 0
innodb_purge_threads = 1
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 2M
innodb_log_file_size = 1G
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
bulk_insert_buffer_size = 8M
myisam_sort_buffer_size = 32M
myisam_max_sort_file_size = 10G
#开启查询缓存
explicit_defaults_for_timestamp=true