Linux下安装Mysql(CentOS7已验证)

简介:MySQL是一个关系型数据库管理系统,MySQL 是支持事务,支持主备,支持集群的优秀开源的软件。

1.1 卸载检查

如果使用的是Centos7 ,它自带了Maridb数据库。MariaDB数据库管理系统是MySQL的一个分支,所以为了避免影响,需要卸载它。

[root@host-131 ~]# rpm -qa | grep mariadb
mariadb-libs-5.5.52-1.el7.x86_64

[root@host-131 ~]# yum -y remove mari*

[root@host-131 ~]# rm -rf /var/lib/mysql/*

[root@host-131 ~]# rpm -qa | grep mariadb


1.2 安装依赖包

yum install -y glibc gcc gcc-c++ openssl-devel autoconf automake cmake bison make ncurses-devel numactl numactl-devel

yum install -y libtool-ltdl-devel** zlib* libxml* fiex**

yum install -y libaio*

1.3 下载数据库软件并上传到服务器

下载地址:点击下载
我这边用的是:mysql-8.0.25-el7-x86_64.tar.gz
在这里插入图片描述
通过ftp软件上传到服务器(使用什么软件随意,能上传到服务器就行)
在这里插入图片描述

1.4 解压mysql软件并移动到/user/local 目录

进入到上传的目录:

tar -xvf mysql-8.0.25-el7-x86_64.tar.gz
mv mysql-8.0.25-el7-x86_64 /usr/local/mysql

在这里插入图片描述

1.5 创建用户和组

groupadd mysql
useradd -r -g mysql mysql

1.6 创建目录

mkdir -p /data/mysql/tmp
mkdir -p /data/mysql/data
mkdir -p /data/mysql/etc
mkdir -p /data/mysql/logs

在这里插入图片描述
给mysql目录更改拥有组和拥有者

chown -R mysql.mysql /data/mysql
chown -R mysql.mysql /usr/local/mysql

在这里插入图片描述

1.7 设置环境变量

vi /etc/profile

末尾添加

export PATH=$PATH:/usr/local/mysql/bin

使生效

source /etc/profile

1.8 修改配置文件

vi /etc/my.cnf
[mysqld]
########basic settings########
server-id = 18             #建议和服务器ip保持一致 例如192.168.1.66  则此处写66
port = 3306
user = mysql
character_set_server=utf8mb4
skip_name_resolve = 1
max_connections = 800
max_connect_errors = 1000
datadir = /data/mysql/data      #根据实际情况修改,建议和程序分离存放
transaction_isolation = READ-COMMITTED
explicit_defaults_for_timestamp = 1
join_buffer_size = 512M
tmp_table_size = 512M
tmpdir = /data/mysql/tmp
pid-file = /data/mysql/tmp/mysqld.pi
socket = /tmp/mysql.sock
max_allowed_packet = 1024M
sql_mode = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO"
interactive_timeout = 1800
wait_timeout = 1800
read_buffer_size = 16M
read_rnd_buffer_size = 32M
sort_buffer_size = 32M
lower_case_table_names=1      #大小写不敏感,linux专属 window服务器直接注释掉
default_time_zone='+8:00'
########log settings########
log_error =/data/mysql/logs/mysqld.log            #根据实际情况修改建议和datadir 位于不同物理磁盘
slow_query_log = 1
slow_query_log_file = /data/mysql/logs/slow.log   #根据实际情况修改建议和datadir 位于不同物理磁盘
#log_queries_not_using_indexes = 1 #调试数据库的时候打开,此选项将记录所有没走索引的sql语句,不管执行快慢
log_slow_admin_statements = 1
log_slow_slave_statements = 1
#log_throttle_queries_not_using_indexes = 10  


########replication settings########
master_info_repository = TABLE
relay_log_info_repository = TABLE
log_bin = /data/mysql/logs/mysql_binlog   #根据实际情况修改建议和datadir 位于不同物理磁盘
sync_binlog = 1
gtid_mode = on
enforce_gtid_consistency = 1
log_slave_updates
binlog_format = row
relay_log = /data/mysql/logs/relay.log    #根据实际情况修改建议和datadir 位于不同物理磁盘
relay_log_recovery = 1
binlog_gtid_simple_recovery = 1
slave_skip_errors = ddl_exist_errors

########innodb settings########
innodb_log_group_home_dir = /data/mysql/logs/   #根据实际情况修改建议和datadir 位于不同物理磁盘


########semi sync replication settings########
plugin_dir=/usr/local/mysql/lib/plugin      #根据实际情况修改


1.9 安装数据库

/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql

查看日志:

vi /data/mysql/logs/mysqld.log
2021-11-22T11:36:07.179120+08:00 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.20) initializing of server in progress as process 2503
2021-11-22T11:36:07.216846+08:00 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2021-11-22T11:36:11.364494+08:00 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2021-11-22T11:36:11.697981+08:00 0 [Warning] [MY-013501] [Server] Ignoring --plugin-load[_add] list as the server is running with --initialize(-insecure).
2021-11-22T11:36:12.605450+08:00 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: VZico+qE8l0M

此时可以看到临时密码(红框),并查看是否有错误产生在这里插入图片描述

1.10 启动数据库

cp /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysqld

service mysqld start

在这里插入图片描述
查看运行的数据库进程

ps -ef | grep mysql

登录mysql,输入上方记录的临时密码,进入右图信息,则启动成功:

mysql -u root -p

在这里插入图片描述

1.11 修改默认密码并设置远程访问

mysql> use mysql;
mysql> select host from user where user='root';
可以看到当前主机配置信息为localhost.

在这里插入图片描述

#identified by 后的root是密码
mysql> alter user user() identified by 'root';
#修改密码
mysql> update user set host = '%' where user ='root';#创建任意ip连接root用户  
mysql> flush privileges;#立即生效
mysql> exit;#退出
Bye


service mysqld restart  #重启mysql服务(这里不需要)

开放端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent  #开放3306端口

重启防火墙

systemctl restart firewalld.service

查看是否开放成功

firewall-cmd --list-ports

显示:3306/tcp 说明成功!

验证远程可连:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值