Linux部署Web项目过程中遇见的问题
1.Linux 安装Mysql 后本地 Navicat Premium 无法远程连接
下面顺便展示安装MySql的步骤
1.拷贝文件到某个盘符下
# 将mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz 放到实现建好的文件夹 比如 /tools
2.解压文件:tar -xvzf mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz
# 进入到/tools下进行操作2
3.进入目录:cd mysql-5.7.32-linux-glibc2.12-x86_64/
4.创建mysql文件夹:mkdir -p /usr/local/mysql
5.拷贝解压后所有文件到mysql中:cp -rf * /usr/local/mysql/
6.创建组:groupadd mysql
7.创建用户并设置组:useradd -r -g mysql mysql
8.创建mysql数据目录:mkdir -p /data/mysql
9.赋值权限:chown mysql:mysql -R /data/mysql
10.编辑配置文件:vi /etc/my.cnf
# 下边已经进行了内容展示 直接复制粘贴就可以
11.进入mysql可执行目录:cd /usr/local/mysql/bin/
12.执行命令:./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/
--datadir=/data/mysql/ --user=mysql --initialize
# initalize 也就是初始化操作
13.查看密码:cat /data/mysql/mysql.err
# 这里密码要记好
14.拷贝文件:cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
15.启动服务:service mysql start
16.查看服务:ps -ef | grep mysql
# 操作15 或者 16 如果没有启动成功
17.执行查看端口: firewall-cmd --query-port=3306/tcp
# 如果交互返回 no
18.执行开启端口: firewall-cmd --add-port=3306/tcp
# 返回yes表示端口开启成功
my.cnf内容如下:
[mysql]
protocol=tcp
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
2.Linux内登录MySql进行进行验证
1.输入登录命令:mysql -u root -p
# 输入上面操作13记下的数据密码, 进入数据库,
# 如果忘记了密码也不要慌,参考下面这位博主的文章,进行密码的修改
在MySQL登录时出现Access denied for user ‘root’@‘localhost’ (using password: YES) 拒绝访问,并可修改MySQL密码
2.进入数据输入: use mysql;
#进入到sql 语句可操作阶段
3.验证数据库是否配置正确输入:show databases;
#显示出类似如下内容,表示mysql数据库没有什么问题
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| test111 |
+--------------------+
3.本地Navicat远程Liunx搭建的MySQL
这里显示Access denied for user 'root' @192.168.209.1 (using password:YES)
但是我的Linux Mysql数据库还没有问题,通过多方查阅后得知。
MySQL 5.7 已经部署安全规则,远程访问数据的用户,不能是root超级用户。
下面在Linux下的Mysql中创建远程用户。
4.Linux下的Mysql中创建远程用户
1.登录数据库 :mysql -u root -p
2.创建dev用户本地权限: grant all privileges on *.* to 'dev'@'localhost' identified by '123456';
#密码123456
3.创建dev用户远程权限: grant all privileges on *.* to 'dev'@'%' identified by '123456';
#密码123456
4.flush privileges;
#刷新数据库权限,防止不生效。
5.quit
#退出数据库
4.本地Navicat远程Liunx搭建的MySQL,用我们设置好的用户
连接成功!
就是
MySQL 5.7 已经部署安全规则导致的问题。
在解决问题过程中,也发现了很多好文章分享给大家:
1.windows下用navicat链接虚拟机MySQL数据库的过程和问题解决
2.ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’
4.固定虚拟机Linux系统的ip地址(本人CentOS7)
5.Linux关于MySql密码过期, (忘记密码)的解决办法
6.mysql 连接登录错误your password has expired ,to log in you must change it using a client that supports ex
7.密码过期ERROR 1862 (HY000): Your password has expired. To log in you must change
8.Linux连接mysql报错:Access denied for user ‘root’@‘localhost’(using password: YES)的解决方法
9.在MySQL登录时出现Access denied for user ‘root’@‘localhost’ (using password: YES) 拒绝访问,并可修改MySQL密码