相关服务安装指南
从零开始搭建Dcat Admin可参考以下顺序安装:
一、Linux 安装配置卸载 mysql 服务 – 谢幕后 (xmhweb.cn)
二、Linux 安装 php 服务和 composer – 谢幕后 (xmhweb.cn)
三、Linux安装nginx服务 – 谢幕后 (xmhweb.cn)
四、Laravel 框架搭建 – 谢幕后 (xmhweb.cn)
五、Dcat Admin 后台系统搭建 – 谢幕后 (xmhweb.cn)
准备工作
根据查询,首先卸载以前的数据库
#查询数据库
dpkg --list|grep mysql
#根据查询信息进行卸载
apt-get remove mysql-common
安装
说明
Ubuntu18.04 默认mysql数据库版本为 5.7.24
Ubuntu22.04 默认mysql数据库版本为8.0.33
本地安装MYSQL
更新列表
apt-get update
安装MySQL
apt-get install mysql-server
启动和关闭mysql的命令如下:
#启动:
service mysql start
#重启:
service mysql restart
#关闭:
service mysql stop
#开机自启
systemctl enable mysql
#状态
systemctl status mysql
Docker安装MYSQL
创建mysql容器,指定网络模式为host
docker run -itd --name mysql --restart=always --net=host -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
创建一个数据库
docker exec mysql-chemex mysql -h127.0.0.1 -P3307 -uroot -p123456 -e "create database chemexGZ;"
Docker-compose安装MYSQL
version: "3.8"
services:
mysql:
image: mysql:latest
container_name: mysql
restart: always
hostname: mysql
volumes:
- ./storage/mysql:/var/lib/mysql
env_file:
- ./mysql.env
ports:
- "10.10.166.212:3310:3306"
配置
设置数据库密码和远程连接
刚安装好的数据库是没有密码的,直接回车登录mysql,执行以下命令修改密码:
mysql -uroot -p
mysql> use mysql;
#开启远程连接
update user set host='%' where user='root';
#修改了之后刷新以下权限
flush privileges;
#修改数据库密码.
ALTER USER 'root'@'%' identified with mysql_native_password BY '123456';
#修改了之后刷新以下权限
flush privileges;
#退出数据库
quit;
在数据库中查询账户属性,看是否修改成功,主要看Host
和plugin
SELECT User, Host, plugin FROM mysql.user;
Host:%
Host的值需要是%才能进行远程连接。
mysql_native_password
是 MySQL 数据库中的一种身份验证插件,用于验证用户的账户和密码。
上面是赋予root用户远程连接权限,这样并不安全,建议新建一个用户:
#创建用户
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
#修改用户密码和身份验证方式
ALTER USER 'username'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
将 username
替换为你要使用的远程连接用户名,将 password
替换为相应的密码。这将创建一个新用户,并为该用户在任何主机上授予了完全的数据库访问权限。
修改了Host的值还是不能用Navicat远程,还需要修改配置文件
vim /etc/mysql/mysql.conf.d/mysqld.cnf
Mariadb数据库的配置文件在:/etc/mysql/mariadb.conf.d/50-server.cnf
找到bind-address
,把127.0.0.1
修改成0.0.0.0
,如下图
保存退出,然后在重启一下mysql服务。
service mysql restart
再次尝试navicat远程连接,成功了。
数据导出导入
# 导出
mysqldump -u root -p zabbix > zabbix_backup.sql
# 导入
mysql -u root -p zabbix < zabbix_backup.sql
拓展
关于GRANT ALL命令
设置远程登录mysql低于8.0版本用以下命令
GRANT ALL PRIVILEGES ON . TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
在 MySQL 8.0 版本中,出现无法使用 GRANT ALL PRIVILEGES ON *.* TO 'chemex'@'localhost';
命令的情况可能是由于安全性方面的改进导致的。
在 MySQL 8.0 版本中,为了提高安全性,禁止了使用 GRANT ALL PRIVILEGES ON *.* TO 'user'@'host';
这种方式直接给用户授予全局权限。相反,推荐的做法是分配特定数据库的权限,并且避免过多的权限赋予。
因此,为了解决这个问题,可以尝试以下方法:
1.授予 ‘chemex’ 用户在特定数据库(比如名为 ‘chemex’ 的数据库)上的所有权限:
GRANT ALL PRIVILEGES ON chemex.* TO 'chemex'@'localhost';
2.如果需要更多的全局权限,你可以单独为 ‘chemex’ 用户授予一些必要的全局权限,例如:
GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO 'chemex'@'localhost';
修改端口
在同一台主机上同时运行 Docker 容器中的 MySQL 和主机上的 MySQL 可能会导致冲突。这是因为两个 MySQL 实例都会尝试使用默认的端口(3306),并且它们具有相同的网络接口。
要修改主机上 MySQL 的端口,你需要编辑 MySQL 的配置文件,并重新启动 MySQL 服务。以下是一般步骤:
- 打开 MySQL 的配置文件:通常,MySQL 的配置文件位于
/etc/mysql/my.cnf
或/etc/my.cnf
。使用文本编辑器打开该文件。 - 找到
port
参数:在配置文件中寻找名为port
的参数,它定义了 MySQL 服务器监听的端口号。如果找不到这个参数,可以在[mysqld]
部分中添加它。 - 修改端口号:将
port
参数的值更改为你希望使用的新端口号。确保选择一个未被其他应用程序占用的可用端口。 - 保存并关闭配置文件。
- 重启 MySQL 服务:
service mysql restart
或者更改 Docker MySQL 的端口:在运行 Docker 容器时,可以将容器内部的 MySQL 端口映射到主机的其他端口。例如,将容器内的 3306 端口映射到主机的 3307 端口:docker run -p 3307:3306 mysql
卸载
要卸载 MySQL 数据库,你可以按照以下步骤进行操作:
停止 MySQL 服务:运行以下命令停止 MySQL 服务。
#Ubuntu 系统
sudo service mysql stop
#CentOS 系统
sudo systemctl stop mysqld
移除 MySQL 软件包:运行以下命令以移除 MySQL 软件包。
#Ubuntu 系统
sudo apt-get purge mysql-server mysql-client mysql-common mysql-server-core-* mysql-client-core-*
#CentOS 系统
sudo yum remove mysql-server mysql-client
删除 MySQL 配置文件和数据目录:运行以下命令以删除 MySQL 配置文件和数据目录。
#Ubuntu 系统
sudo rm -rf /etc/mysql /var/lib/mysql
#CentOS 系统
sudo rm -rf /etc/my.cnf /var/lib/mysql
清理残留文件和目录:运行以下命令以清理可能存在的 MySQL 残留文件和目录。
#Ubuntu 系统
sudo apt-get autoremove
sudo apt-get autoclean
#CentOS 系统
sudo yum autoremove
sudo yum clean all
完成以上步骤后,你的系统上的 MySQL 数据库将被卸载。
评论