centos7 虚拟机安装 MySQL数据库

检查是否安装过 MySQL 以及版本信息
rpm -qa | grep -i mysql

卸载之前的版本,参数 -e 表示删除,-nodeps 表示不校验依赖关系

rpm -e mysql-5.1.47-4.el6.x86_64 –nodeps

二进制包格式安装的 mysql 卸载
如果我们的 mysql 是通过二级制包格式安装的,则 rpm -qa | grep -i mysql 是无法查询到结果的,需要采用以下的方式进行卸载清除。

首先停止 mysql 服务,查看其运行状态如下:

停止 mysql 服务

service mysql stop

查看状态

service mysql status
查找所有的 mysql 文件进行删除

find / -name mysql

根据查询结果执行删除命令,可能会提示没有权限,忽略继续执行

rm -rf /usr/lib64/mysql
最后查看和删除 mysql 用户

查看 mysql 用户

id mysql

删除 mysql 用户

userdel mysql
另外,可能还需要删除存在的配置文件

rm -f /etc/my.cnf
rm -f /usr/my.cnf

安装客户端

下载并安装 MySQL 官方的 Yum Repository

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

yum -y install mysql57-community-release-el7-10.noarch.rpm

MySQL 的 GPG 密钥可能已经过期,需要更换

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

安装 MySQL 服务器

yum -y install mysql-community-server

MySQL 数据库的配置
启动 MySQL并查看运行状态

启动 MySQL 服务

systemctl start mysqld.service

查看 MySQL 运行状态

systemctl status mysqld.service

此时 MySQL 已经开始运行,可以通过如下的命令在日志文件中找出密码

grep "password" /var/log/mysqld.log

,u#;xwpgq5Xk

使用如下的命令登录数据库并修改密码

登录数据库

mysql -uroot -p

修改数据库密码

alter user 'root'@'localhost' identified by 'Hy123@456';

查看mysql默认的密码复杂度

SHOW VARIABLES LIKE 'validate_password%';

修改密码复杂度

set global validate_password_policy=LOW;

修改密码长度

set global validate_password_length=6;

开启 MySQL 的远程访问
grant all privileges on . to 'root'@'%' identified by 'Hy123@456' with grant option;
flush privileges;
开启 Centos7 端口 3306

开放端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent

刷新配置

firewall-cmd --reload

查看当前开放的端口

firewall-cmd --zone=public --list-ports

MySQL 的配置文件

设置mysql客户端默认字符集

default-character-set=utf8mb4

[client]
port = 3306
socket = /tmp/mysql.sock

[mysqld]
port = 3306
server-id = 3306
user = mysql
socket = /tmp/mysql.sock

设置mysql的安装目录

basedir = /usr/local/mysql

设置mysql数据库的数据的存放目录

datadir = /data/mysql
log-bin = /data/mysql/mysql-bin
innodb_data_home_dir =/data/mysql
innodb_log_group_home_dir =/data/mysql

设置mysql数据库的日志及进程数据的存放目录

log-error =/data/mysql/mysql.log
pid-file =/data/mysql/mysql.pid

服务端使用的字符集默认为8比特编码

character-set-server=utf8mb4
lower_case_table_names=1
autocommit =1

skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 1M
table_open_cache = 1024
sort_buffer_size = 4M
net_buffer_length = 8K
read_buffer_size = 4M
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 64M
thread_cache_size = 128

query_cache_size = 128M

tmp_table_size = 128M
explicit_defaults_for_timestamp = true
max_connections = 500
max_connect_errors = 100
open_files_limit = 65535

binlog_format=mixed

binlog_expire_logs_seconds =864000

创建新表时将使用的默认存储引擎

default_storage_engine = InnoDB
innodb_data_file_path = ibdata1:10M:autoextend
innodb_buffer_pool_size = 1024M
innodb_log_file_size = 256M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
transaction-isolation=READ-COMMITTED

[mysqldump]
quick
max_allowed_packet = 16M

[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 4M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout

posted @ 2023-06-12 22:31  hyzs  阅读(133)  评论(0编辑  收藏  举报