Docker安装(Alibaba Cloud Linux 3)
宝塔面板
面板内,安装nginx,node,php,jdk,Tomcat,mysql
如何让服务器MySQL通过外网访问 并能在navicat连接使用
本地连接云服务器mysql
- 查看mysql是否启动:
service mysqld status
-
对外开放3306端口
a. 若不开放报错如下
b. 阿里云服务器默认端口,是不对外开放的,所以若想要外部访问,就需要在安全组手动添加了,配置操作步骤如下3. 确保服务器Linux系统的防火墙开放3306端口
a.输入命令:firewall-cmd --list-ports
查看端口
b. 若没有3306端口,输入命令:firewall-cmd --zone=public --add-port=3306/tcp --permanent
添加端口
c. 输入命令:firewall-cmd --reload,重启防火墙,再查询端口就有了
(注意:若输入命令后报错了,可能是防火墙服务禁止了,关闭了,这时输入以下命名来启动linux防火墙:(当服务被关闭时)启动防火墙服务:systemctl ummask firewalld 启动防火墙:systemctl start firewalld)
4. 设置数据库用户访问权限
a. mysql -u root -p 连接数据库
b. 先用命令:查询下数据库用户
c. 使用如下命令将所需要开放的用户的访问权限改为任意:
GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY '*********' WITH GRANT OPTION;
如果报错
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by xxxxx
查看数据库版本,高版本数据库不能按照grant all privileges on . to "root"@"%" identified by "xxxx";去修改用户权限
mysql> SELECT @@VERSION;
+-----------+
| @@VERSION |
+-----------+
| 8.0.15 |
+-----------+
1 row in set (0.00 sec)
分布执行:
mysql> create user 'root'@'%' identified by 'password'; Query OK, 0 rows affected (0.03 sec)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
再次查看发现有了root %
mysql> select user ,host from mysql.user;
+------------------+-----------+
| User | Host |
+------------------+-----------+
| root | % |
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+------------------+-----------+
5 rows in set (0.00 sec)
————————————————
在Linux下MySQL(8.0.26)的安装部署
第一步、检查并删除已有的mysql,如果是新购买的阿里云,可以跳过。
提醒:这是很重要的工作。
- 执行命令:dnf list installed | grep mysql 。或者使用对应的rpm命令。 如果有内容,则使用 dnf remove 包名 卸载。
- 执行命令:find / -name mysql 。如果有内容,则使用 rm -rf 文件路径 删除文件
仓库安装
1)下载MySQL的仓库 可以在MySQL的官方网站去下载,我们安装的是MySQL8.0.21版本
<https://repo.mysql.com//mysql80-community-release-el8-1.noarch.rpm>
也可以使用国内的镜像网站
<https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-8.0-community-el8-x86_64/>
下面进行安装
rpm -i <https://repo.mysql.com//mysql80-community-release-el8-1.noarch.rpm>
查看有两个mysql的仓库说明rpm仓库装好了
2)然后在进行MySQL的安装
dnf install mysql-server
3)启动服务
systemctl start mysqld#启动服务
grep password /var/log/mysql/mysqld.log#过滤密码,有无初始密码
mysql_secure_installation#初始化工具,5.7之前的MySQL用来设置初始密码123
4)登录测试
mysql -u root -p#由刚刚上图可知,没有初始密码1
show databases;#查看当前数据库,测试是否能够运行
Alibaba cloud linux 3 安装MYSQL8.0教程
1.下载mysql rpm资源包
wget <https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
>
下载情况图片
2.下载完后, 安装mysql
rpm -ivh mysql80-community-release-el7-7.noarch.rpm
安装情况
注意:有让你填y/n的 直接y
3.安装成功,将以下命令一个一个的去执行
chown -R mysql:mysql /var/lib/mysql chmod -R 777 /var/lib/mysql
4.执行之后,启动mysql
systemctl start mysqld.service
通过ps -ef |grep mysql命令查看启动情况。
通过service mysqld status 命令检查是否正常启动
5.启动没问题之后,执行grep password /var/log/mysqld.log命令获取初始密码
grep password /var/log/mysqld.log
6.获取之后登陆mysql
mysql -u root -p 在Enter password:中输入密码回车即可
7.修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';
8.开放数据库的外部访问权限
use mysql;
update user set host = '%' where user = 'root';
select user,host from mysql.user //查看是否修改成功
FLUSH PRIVILEGES;开放端口
9.检查端口是否开启
在mysql中输入quit退出mysql
输入firewall-cmd --query-port=3306/tcp
注意!如果出现FirewallD is not running ,说明你的系统未开启firewall
需要输入systemctl start firewalld.service 开启
设置 systemctl enable firewalld.service 开机自动开启
如果输入firewall-cmd --query-port=3306/tcp 之后是 no那么就走第10步,如果是yes就完成了
10.未开启 的话 走一下命令即可
`firewall-cmd --zone=public --add-port=3306/tcp --permanent 开启端口
firewall-cmd --reload 重启防火墙`
查看 是否开启成功 firewall-cmd --query-port=3306/tcp 返回yes完成
**查看当前服务器操作系统命令
cat /etc/os-release**