环境
操作系统:CentOS7.9
系统架构:X86
版本:MySQL5.7.44
准备
①检查是否已安装MySQL:rpm -qa | grep mariadb
②卸载:sudo rpm -e --nodeps 返回包名
③查看是否卸载成功:rpm -qa | grep mariadb
若返回为空则说明卸载成功
安装
①按顺序安装:
sudo rpm -ivh mysql-community-common-5.7.44-1.el7.x86_64.rpm
sudo rpm -ivh mysql-community-libs-5.7.44-1.el7.x86_64.rpm
sudo rpm -ivh mysql-community-libs-compat-5.7.44-1.el7.x86_64.rpm
sudo rpm -ivh mysql-community-client-5.7.44-1.el7.x86_64.rpm
sudo rpm -ivh mysql-community-server-5.7.44-1.el7.x86_64.rpm
②修改配置文件:sudo vi /etc/my.cnf
添加内容:
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
lower_case_table_names=1
# 设置大小写不敏感
max_connections=1024
skip-grant-tables
#设置免密登录,修改root密码后删除
启动数据库并修改密码
①sudo systemctl start mysqld
②使用root用户登录MySQL: mysql -uroot
③修改root用户密码(登录MySQL后命令结尾有分号):
use mysql;
flush privileges;
alter user root@'localhost' identified by '密码';
exit;
关闭免密登录权限
①修改配置文件:sudo vi /etc/my.cnf
删除skip-grant-tables
②重启MySQL:sudo systemctl restart mysqld
主从搭建(选做)
①修改配置文件:sudo vi /etc/my.cnf
主库添加:
server_id=1
log_bin=mysql-bin
binlog_format=MIXED
expire_logs_days = 30
从库添加:
server_id=2
log_bin=mysql-bin
log_slave_updates = 1
添加完后,主从库重启:sudo systemctl restart mysqld
②在主库创建用于主从同步的用户,并赋权限:
create user 'repl'@'%' identified by '密码';
grant replication slave on *.* to 'repl'@'%';
flush privileges;
③主库获取binlog初始文件和位置:
show master status;
④从库运行:
CHANGE MASTER TO MASTER_HOST='主库IP',MASTER_USER='repl',MASTER_PASSWORD='密码',MASTER_LOG_FILE='mysql-bin.000003',MASTER_LOG_POS=2869;
start slave;
⑤从库查看主从状态:show slave status \G
若Slave_IO_Running、Slave_SQL_Running都显示为yes,则主从搭建完成。
数据库初始化
①新建用户:CREATE USER '用户名'@'%' identified by '密码';
②建库:create database if not exists 库名 default charset utf8mb4 collate utf8mb4_general_ci;
③授予新用户使用新建数据库的权限:grant all on 库名.* to '用户'@'%';
设置开机自启动(选做)
①设置开机自启动:sudo systemctl enable mysqld
不常用命令
①内容替换:UPDATE config_info set content=REPLACE(content,'old_content','new_content');