CentOS7和Ubuntu18.04不同系统如何搭建mysql服务

Linux安装mysql

本次安装Linux基于虚拟机CentOS7和Ubuntu18.04

一.CentOS7安装mysql

1.利用yum源来安装。mysql版本5.7.14

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

如果出现以下错误:

这是因为yum仓库中没有可用的mysql-server rpm包,可以执行如下命令进行下载

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

下载成功:

下载mysql-server

yum -y install mysql-community-server

2.配置、启动mysql

1.查看mysql状态

systemctl status mysqld
或
systemctl status mysqld.service

2.启动mysql

systemctl start mysqld
#然后继续查看mysql状态是否启动
systemctl status mysqld

3.查看mysql初始密码

mysql默认必须修改密码之后才能操作数据库

[root@centos software]# cat /var/log/mysqld.log |grep 'password'
2020-11-23T03:24:57.885361Z 1 [Note] A temporary password is generated for root@localhost: TXgPuICyX8%k

4.登录数据库

mysql -u root -p
#然后输入默认密码 TXgPuICyX8%k

5.修改数据库登录密码

mysql> alter user 'root'@'localhost' identified by 'root';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

报错原因是密码设置过于简单,mysql有密码设置的规范

密码长度是由validate_password_length决定的,可以通过如下命令修改

set global validate_password_length=LOW;

查看mysql密码设置规范

SHOW VARIABLES LIKE 'validate_password%';

6.开启mysql的远程访问

执行下面命令开启远程访问限制(下面命令开启的是IP是10.0.105.114,如果要开启所有的,用%代替IP),mysql默认是拒绝远程访问的。

grant all privileges on *.* to 'root'@'10.0.105.114' identified by 'root' with grant option;

7.开启防火墙端口,CentOS为firewalld添加开放端口3306

  1. 查看防火墙是否开启

systemctl status firewalld
或
firewall-cmd --state
  1. 如果防火墙是关闭状态,开启防火墙

systemctl start firewalld
  1. 防火墙添加mysql开发端口3306

[root@centos software]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
success

4.防火墙配置立即生效

[root@centos software]# firewall-cmd --reload
success
  1. 查看防火墙所有开放的端口

[root@centos software]# firewall-cmd --zone=public --list-ports
3306/tcp
  1. 关闭开放端口

[root@centos software]# firewall-cmd --zone=public --remove-port=3306/tcp --permanent
success

需要重新加载防火墙配置,才能生效

firewall-cmd --reload

  1. 如果要开放的端口太多,可以直接关闭防火墙,当然,安全性自行评估

systemctl stop firewalld

扩展

  1. 查看监听的端口

netstat -lnpt
  1. 检查端口被哪个进程占用,如:

[root@centos software]# netstat -lnpt |grep 9200
tcp6       0      0 :::9200                 :::*                    LISTEN      1421/java 
  1. 查看进程的详细信息

[root@centos software]# ps 1421
   PID TTY      STAT   TIME COMMAND
  1421 ?        Sl     1:01 /usr/java/jdk1.8.0_241/bin/java -Xshare:auto -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=10 -XX:+AlwaysPreTouch -Xss1m -Djava.awt.headless=true -Dfil

3.设置编码

vim /etc/my.cnf

增加如下代码

[client]
default-character-set=utf8
character-set-server=utf8
collation-server=utf8_general_ci

如图:

重启mysql

保存my.conf文件后,需要重启mysql,然后输入status查看

#重启mysql
systemctl restart mysqld

登录进入mysql查看

二.Ubuntu18.04安装mysql

所有操作都是在root权限下进行

1.从apt源下载mysql-server

#默认会自行安装
apt install -y mysql-server

2.查看是否安装成功

netstat -tap | grep mysql

3.登录mysql

#默认是没有密码,直接按`enter`回车键,就可以直接进入
mysql -u root -p

4.初始化数据库

为了确保数据库的安全性和正常运行,建议进行如下5个步骤的设置

  • 安装验证密码插件

  • 设置root管理员在数据库中的登录密码

  • 删除匿名账户,并使用root管理员从远程登录数据库,以确保数据库上运行的业务的安全性

  • 删除默认的测试数据库,取消测试数据库的一系列访问权限

  • 刷新授权列表,让初始化的设定立即生效

mysql_secure_installation

5.查看mysql运行状态

service status mysql

6.设置mysql可以远程访问

#默认只允许本机访问
vim /etc/mysql/mysql.conf.d/mysqld.cnf
#注释掉 bind-address          = 127.0.0.1

7.进行授权

修改完上述配置文件,再次进入mysql数据库,进行授权

#执行下面命令开启远程访问限制(下面命令开启的是IP是10.0.105.114,如果要开启所有的,用%代替IP),mysql默认是拒绝远程访问的。
mysql>  grant all on *.* to root@'10.0.105.114' identified by 'root' with grant option; 
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql>  flush privileges;  #刷新权限
Query OK, 0 rows affected (0.00 sec)

8.重启mysql

systemctl restart mysqld

9.验证本地访问远端mysql

至此已完成mysql在CentOS7和Ubuntu18.04不同系统的搭建!!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值