Linux安装mysql
本文只是自己尝试ubuntu和centos7两种环境成功之后总结出的文档,仅用作记录,如果能对看到这篇总结的你起到帮助,麻烦点个赞再走呗
**
Ubuntu安装mysql步骤:
**
1.更新apt
sudo apt-get update
2.通过apt获取安装mysql
sudo apt-get install mysql-server
3.配置运行mysql安全脚本,可以按Y进行确认,密码可以不重新设置
sudo mysql_secure_installation
4.查看mysql安装状态
systemctl status mysql.service
5.进入mysql服务
mysql -u root -p
6.设置mysql允许远程访问
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
注释掉bind-address = 127.0.0.1:这一行(#号注释)(首先按i进入编辑模式,注释掉这一行,然后按Ecs键,之后按:wq!保存退出vi编辑器)
7.进入mysql进行用户授权
grant all on . to root@’%’ identified by ‘mypassword’ with grant option;
语句中root为你的用户名,mypassword改成你设置的密码就行,注意如果密码过于简单会报1819错误,
有两种解决办法,一种是把密码设置复杂一点,密码含有大小写数字和特殊符号,第二种是修改密码安全等级(我不记得了,具体百度)
8.在mysql中执行如下命令让授权立即生效
flush privileges;
9.可以查看创建用户是否成功
SELECT DISTINCT CONCAT(‘User: ‘’’,user,’’’@’’’,host,’’’;’) AS query FROM mysql.user;
10.退出mysql 重启mysql服务
service mysql restart
11.开启防火墙,打开3306端口,查看防火墙状态可以看到端口开通
sudo ufw enable
sudo ufw default deny
sudo ufw allow 3306
sudo ufw status
12.开启服务器的3306端口,云服务器设置安全组
13.用navicat测试链接数据库
**
Centos7安装mysql步骤
**
1.CentOS7默认安装了和MySQL有兼容性的MariaDB数据库,在我们安装MySQL5.7之前为了避免发生冲突首先删除MariaDB。
rpm -qa | grep maria
mariadb-libs-5.5.50-1.el7_2.x86_64
yum remove mariadb-libs -y
2.添加mysql的yum源
yum localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
3.安装mysql,确认安装成功,查看版本
yum install mysql-community-server -y
mysqld --version
4.配置mysql开机启动,启动停止mysql
完成安装步骤之后,首先配置MySQL的开机自动启动,在这里使用systemctl命令。
systemctl enable mysqld.service
接着使用systemctl start mysqld.service命令启动MySQL。
systemctl start mysqld.service
而停止MySQL时使用systemctl stop mysqld.service命令。
systemctl stop mysqld.service
5.获取mysql临时密码
grep ‘temporary password’ /var/log/mysqld.log
6.登陆mysql,修改密码
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘root123’;
如果报1819错误:
必须修改两个全局参数:
首先,修改validate_password_policy参数的值
mysql> set global validate_password_policy=0;
再修改密码的长度
set global validate_password_length=1;
再次执行修改密码就可以了
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘root123’;
7.进入mysql,开启权限
mysql -u root -p
use mysql;
GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘mysql’ WITH GRANT OPTION;
flush privileges;
第一句中"%"表示任何主机都可以远程登录到该服务器上访问。如果要限制只有某台机器可以访问,将其换成相应的IP即可,如:
GRANT ALL PRIVILEGES ON . TO root@“172.168.193.25” IDENTIFIED BY “root”;
8开启防火墙端口,打开服务器对应端口
firewall-cmd --query-port=3306/tcp 查看端口是否开启
firewall-cmd --add-port=3306/tcp --permanent 开启端口
–permanent是指永久的意思
启动: systemctl start firewalld
查看状态: systemctl status firewalld
9.navicat测试链接