centos7.6与windows安装mysql与项目应用注意情况

安装与创建远程登陆

首先:一般CentOS默认安装了mariadb,所以先查看是否安装mariadb,如果安装就需要先卸载mariadb

rpm -qa|grep mariadb
rpm -e mariadb-libs --nodeps

1.png

然后:*在/usr/local/目录下创建mysql文件夹

cd /cd usr/localmkdir mysql`
2019111910233120.png

  1. 进入mysql文件夹内,下载mysql
cd mysql wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar
  1. 解压mysql到当前目录
tar -xvf mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar
2019111910233122.png
  1. 安装mysql,依次执行下列命令
rpm -ivh mysql-community-common-8.0.16-2.el7.x86_64.rpm --nodeps --force  
rpm -ivh mysql-community-libs-8.0.16-2.el7.x86_64.rpm --nodeps --force 
rpm -ivh mysql-community-client-8.0.16-2.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-server-8.0.16-2.el7.x86_64.rpm --nodeps --force
2019111910233123.jpg
  1. 初始化和相关启动服务配置,依次执行下列命令
mysqld --initialize;
chown mysql:mysql /var/lib/mysql -R;
systemctl start mysqld.service;
systemctl enable mysqld;

如果执行mysqld --initialize; 出现以下报错,先执行yum -y install numactl,再执行 yum install -y libaio,再执行mysqld --initialize

11.png

如果执行systemctl start mysqld.service; 出现以下报错,先执行tail -f /var/log/mysqld.log查看错误日志
12.png

如果错误日志如下,执行cd /var/lib/mysql,执行rm -rf *删除所有文件,再执行systemctl start mysqld.service
2019111910233126.png

  1. 查看数据库初始化密码
cat /var/log/mysqld.log | grep password

  1. 修改密码,密码需要数字,大小写字母,特殊符号
 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'xxxxx';

设置密码永不过期.一定要记得执行下面代码刷新MySQL的系统权限相关表

ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER; 
flush privileges; 
  1. 创建远程访问用户,依次执行下列命令
create user 'root'@'%' identified with mysql_native_password by 'xxxxx';grant all privileges on *.* to 'root'@'%' with grant option;flush privileges;

vmware中的Centos 7.6安装mysql

  1. 下载mysql https://downloads.mysql.com/archives/community/2023.3现在还能打开。
    dde893e374bc901ab63d2077ed36d69b_1993414-20221111150449631-1264230631.png
  2. 放到服务器后解压-C 放到指定文件夹,进入/usr/local把解压的目录更改一下名字
tar -xvf mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz  -C /usr/local
cd /usr/local
mv mysql-8.0.30-linux-glibc2.12-x86_64    mysql
  1. 创建mysql 用户和用户组
>groupadd mysql
>useradd -r -g mysql mysql
  1. 创建数据文件夹data,并给权限
>  mkdir -p /usr/local/data
# 给mysql用户权限
> chown -R mysql:mysql /usr/local/data
> chmod -R 755 /usr/local/data
  1. 给mysql的log目录权限
chown -R mysql:mysql /var/log
  1. 修改mysql配置文件 vi /etc/my.cnf
[mysqld]
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/usr/local/data
socket=/tmp/mysql.sock
#socket=/data/mysql/mysql.sock
log-error=/var/log/mysql.err
pid-file=/var/log/mysql.pid
##character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
lower_case_table_names=1
~                          
  1. 初始化mysql
cd /usr/local/mysql/bin
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/usr/local/data/ --user=mysql --initialize

  1. 查看mysql临时密码,并查看进程
cat /var/log/mysql.err
ps -ef|grep mysql
761da139e846d2a94d2a9e0660ef99dc_1993414-20221111153039064-469286312.png
  1. 登录mysql并设置远程登录功能,修改root密码。
    方式一:
bin]#./mysql -u root -p
password:随机密码
# 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'xiong';
# 刷新权限
FLUSH PRIVILEGES;
#设置远程登录
mysql> use mysql
mysql> update user set user.Host='%'where user.User='root';
mysql> flush privileges;
mysql> quit

方式二:创建root另一个用户%表示所有ip都可登录

> CREATE USER 'root'@'%' IDENTIFIED BY '123456';
> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

> FLUSH PRIVILEGES;
use mysql;
>update user set user.Host='%' where user.User='root';
>flush privileges;

rpm格式的5.x版本的mysql安装示例
1.下载MySQL-5.5.56-1.el7.x86_64.rpm-bundle.tar
----本人已在csdn下载了,放在了百度网盘中。
2.tar -xvf解压产生很多rpm式的文件,我们只安装server ,client.

rpm -ivh mysql-community-server-5.7.18-1.el7.x86_64.rpm
//会有很多提示,要安装依赖包,要什么我们装什就完事了
yum install -y ***

3.查看安装成功否

rpm -qa|grep -i mysql

云主机上的问题

  1. 问题一
Starting MySQL. ERROR! The server quit without updating PID file (/var/log/mysql.pid).

项目应用情况注意:

  1. IDEA中mysql8.x注意时区设置问题,不设置容易出错。
    11 查看时区
    show VARIABLES like '%time_zone%';

    image.png

    time_zone: 表示 MySQL 采用的是系统的时区。也就是说,如果在连接时没有设置时区信息,就会采用这个时区配置。
    12仅修改当前会话的时区,停止会话失效(CET)

     set time_zone = '+8:00';
    

13 修改全局的时区配置

    set globaltime_zone = '+8:00';
    flush privileges;

大多数时候用到13.

windows安装mysql

  1. 下载下载地址:https://dev.mysql.com/downloads/mysql/
    image.png
  2. 解压到安装目录,在安装目录新建data目录和my.ini配置文件,并配置环境变量


    image.png

    my.ini文件

  # 设置3306端口
    port=3306
    # 设置mysql的安装目录
    basedir=D:\\soft\\mysql-8.0.27-winx64
    # 设置mysql数据库的数据的存放目录
    datadir=D:\\soft\\mysql-8.0.27-winx64\\data
    # 允许最大连接数
    max_connections=30
    # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
    max_connect_errors=10
    # 服务端使用的字符集默认为UTF8
    character-set-server=utf8
    # 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB
    [mysql]
    # 设置mysql客户端默认字符集
    default-character-set=utf8
    [client]
    # 设置mysql客户端连接服务端时默认使用的端口
    port=3306
    default-character-set=utf8

在环境变量中新建:MYSQL_HOME,在path中加入:%MYSQL_HOME%\bin

image.png

image.png

  1. 以管理员的身份打开cmd窗口跳转路径到D:\soft\mysql-8.0.27-winx64\bin
    在窗口输入:mysqld --initialize --user=mysql --console,这一步会根据我们的配置文件初始化我们的mysql服务。最后可以看到,系统给我们分配了一个默认密码,记住这个密码,非常重要,后续会用到
    image.png

    输入mysqld -install进行服务的添加。
    (如果这一步报:Install/Remove of the Service Denied,就表示你没有用管理员身份打开cmd,C:\Windows\System32\cmd.exe用管理员身份启动即可解决)
    mysql服务。最后可以看到,系统给我们分配了一个默认密码,记住这个密码,非常重要,后续会用到。
    image.png

    输入mysqld -install进行服务的添加。
    (如果这一步报:Install/Remove of the Service Denied,就表示你没有用管理员身份打开cmd,C:\Windows\System32\cmd.exe用管理员身份启动即可解决)
    image.png

    输入net start mysql启动服务。
    image.png

    输入mysql -u root -p进行登录数据库,这时提示需要密码,然后就是用你上面的默认密码登录。
    修改密码语句:ALTER USER root@localhost IDENTIFIED BY '你的密码'; 。
    输入:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
    然后输入FLUSH PRIVILEGES;
    这两句是为了让你navicat连的时候,不报1251错误的。
  2. windows 配置mysql允许远程登陆。
    1.----连接Mysql (连接方式:mysql -u 你设置的用户名 -p你设置的密码 )
    2.----查看数据库:show databases;我们会看到有一个叫做"mysql"的数据库,这里我们输入: use mysql 进入'mysql'数据库中
    3.----执行 GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY '你设置的密码' WITH GRANT OPTION;
    若出现ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
    解决方案:
    执行一次:mysql> flush privileges;
    然后再执行:GRANT ALL Privileges....语句。
    重启一下mysql服务
    注意:如果是云主机,远程不能连接,那么可能是,防火墙规则没有放行3306端口。我们要添加允许3306端口放行数据。
    image.png

4.----刷新, FLUSH PRIVILEGES;

centos 7安装mysql 5.7

下载需要的tar文件
你可以选择在官网下载你需要的包,或者使用我提供的网盘连接进行下载。笔者使用的版本在之前已经介绍,为5.7.38。如果你使用其他的版本可能会出现一些问题。比如5.7.22,说实话我失败了。

卸载mysql
嗯哼?嗯哼?嗯哼? 对,你的电脑可能确实安装了关于mysql,建议检查一遍,如果安装必须删除。不然报错!报错!错!!!!!!
先判断是否安装rpm快速包,如果存在就需要删除

rpm -qa | grep mysql
# 删除指令
rpm -e --nodeps <列出的数据> [列出的数据...]

往往这么删除是不够了,还需要查询系统里面关于mysql的文件如果你通过以上指令出现的结果多了,请通过rm -ef <文件名>删除多出的文件夹,如果你/usr/lib64/mysql文件不仅有plugin也请直接删除。

[root@musiro ~]# find / -name mysql
> /usr/lib64/mysql
> /etc/selinux/targeted/active/modules/100/mysql
[root@musiro ~]# ls /usr/lib64/mysql
> plugin

安装几个需要的依赖

gzip:用于第一步解压
perl libaio:mysql-server安装需要的依赖
yum install -y gzip perl libaio;

上传文件并解压文件
笔者将文件上传到/home/mysql/文件夹下,注意mysql的安装根文件的位置毛关系没有。所以放在你习惯的地方即可。解压文件

gzip mysql-5.7.38-1.el7.x86_64.rpm-bundle.tar;
tar -zxvf mysql-5.7.38-1.el7.x86_64.rpm-bundle.tar.gz

f579283136e75812441085da65f07133_2711625-20220913204608910-42974848.png

安装rpm文件
一定要注意顺序,顺序不对会报错。

rpm -ivh mysql-community-common-5.7.38-1.el7.x86_64.rpm mysql-community-libs-5.7.38-1.el7.x86_64.rpm mysql-community-client-5.7.38-1.el7.x86_64.rpm mysql-community-server-5.7.38-1.el7.x86_64.rpm
# 如果出问题你就一个一个安装
rpm -ivh mysql-community-common-5.7.38-1.el7.x86_64.rpm;
rpm -ivh mysql-community-libs-5.7.38-1.el7.x86_64.rpm;
rpm -ivh mysql-community-client-5.7.38-1.el7.x86_64.rpm;
rpm -ivh mysql-community-server-5.7.38-1.el7.x86_64.rpm;

如果安装的8.x版本,安装顺序为:

common
client-plugins
libs
client
icu-data-files
server

启动mysql
直接启动,千万不要玩花里胡哨的,比如初始化,授权等等,如果报错了让你知道什么叫做问题黑洞。

systemctl start mysqld

连接数据库

[root@musiro ~]# grep "password" /var/log/mysqld.log
[root@musiro ~]# mysql -uroot -p
右键粘贴即可,看不到的,后续操作要重设密码,密码不能设置太简单了,我是Xiong1983.包括一个点。
ALTER USER 'root'@'localhost' IDENTIFIED WITH  mysql_native_password BY 'Xiong1983.';

修改简单密码
如果你只是学习的目的使用mysql,不想设置复杂的mysql。OK这一步能够满足你的需求。先查看一下密码设置的要求

SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password_check_user_name    | OFF    | 名字检测
| validate_password_dictionary_file    |        | 字典文件
| validate_password_length             | 8      | 长度
| validate_password_mixed_case_count   | 1      | 字母
| validate_password_number_count       | 1      | 数字
| validate_password_policy             | MEDIUM | 难度
| validate_password_special_char_count | 1      | 字符
+--------------------------------------+--------+
- LOW -> 只有长度限制
- MEDIUM -> 除了字典文件其他都限制
- STRONG -> 全部

直接修改,只是临时起作用,重启系统,还是会恢复的。

set global validate_password_length = 5;
set global validate_password_policy = 0;

必须要写入/etc/my.cnf配置文件例才能永久生效

vi /etc/my.cnf在[mysqld]下加如下两行代码
---------------------------------------------------------------------------------------------------
validate_password_policy=0
validate_password_length=5

这样我们就可以改自已设的定码了,十分爽

ALTER USER 'root'@'localhost' IDENTIFIED BY 'xiong';

远程连接数据库

update user set host='%' where user='root';
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 201,552评论 5 474
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,666评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 148,519评论 0 334
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,180评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,205评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,344评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,781评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,449评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,635评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,467评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,515评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,217评论 3 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,775评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,851评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,084评论 1 258
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,637评论 2 348
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,204评论 2 341

推荐阅读更多精彩内容