mysql安装不用愁,看完就能装!(代码片段)

小洁码很快! 小洁码很快!     2022-12-08     136

关键词:

1、下载mysql源安装包

wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

2、安装mysql源

yum localinstall mysql57-community-release-el7-8.noarch.rpm

3、检查mysql源是否安装成功

yum repolist enabled | grep "mysql.*-community.*"

返回

[root@VM_18_105_centos ~]# yum repolist enabled | grep "mysql.*-community.*"
mysql-connectors-community/x86_64    MySQL Connectors Community               63
mysql-tools-community/x86_64         MySQL Tools Community                    69
mysql57-community/x86_64             MySQL 5.7 Community Server              287

看到上图所示表示安装成功。

也可以修改 vim /etc/yum.repos.d/mysql-community.repo源,改变默认安装的mysql版本。比如要安装5.6版本,将5.7源的enabled=1改成enabled=0。然后再将5.6源的enabled=0改成enabled=1即可。改完之后的效果如下所示:

..........
# Enable to use MySQL 5.5
[mysql55-community]
name=MySQL 5.5 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.5-community/el/7/$basearch/
enabled=0 # 这里 0表示不选
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

# Enable to use MySQL 5.6
[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/7/$basearch/
enabled=0 # 这里 0表示不选
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=1 # 这里 1 表示 选中
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
..........

4、安装MySQL

yum install mysql-community-server

5、启动MySQL服务

systemctl start mysqld

查看MySQL的启动状态

[root@VM_18_105_centos ~]# systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since 四 2018-08-23 15:27:28 CST; 1h 26min ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 21453 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
  Process: 21432 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 21457 (mysqld)
   Memory: 202.1M
   CGroup: /system.slice/mysqld.service
           └─21457 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

6、设置开机启动

 systemctl enable mysqld
 systemctl daemon-reload

7、获取root登陆密码

mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改:

[root@VM_18_105_centos ~]#  grep 'temporary password' /var/log/mysqld.log
2018-08-23T06:10:44.014590Z 1 [Note] A temporary password is generated for root@localhost: thI/5wEl_chk

ps:如果没有返回,找不到root密码,解决方案:

# 1删除原来安装过的mysql残留的数据(这一步非常重要,问题就出在这)
rm -rf /var/lib/mysql
# 2重启mysqld服务
systemctl restart mysqld
# 3再去找临时密码
grep 'temporary password' /var/log/mysqld.log

原因有可能是之前安装过一次,没有安装好。

8、登陆

[root@VM_18_105_centos ~]# mysql -uroot -p
---- 输入密码:thI/5wEl_chk
# 修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456Aa!';

MySql 默认密码级别一定要有大小写字母和特殊符号,所以比较麻烦。

9、修改密码策略

在/etc/my.cnf文件添加validate_password_policy配置,指定密码策略

# 0(LOW):验证 Length
# 1(MEDIUM):验证 Length; numeric, lowercase/uppercase, and special characters
# 2(STRONG):验证 Length; numeric, lowercase/uppercase, and special characters; dictionary file
validate_password_policy=0

当然如果不需要密码策略,可以禁用:
在/etc/my.cnf文件添加

validate_password = off

重启生效:

systemctl restart mysqld

Mysql的root用户,只能本地访问,这里在创建一个远程可以访问的 用户。

 GRANT ALL PRIVILEGES ON *.* TO 'its'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

10、忽略大小写

登陆mysql查看

mysql> show variables like "%case%";
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| lower_case_file_system | OFF   |
| lower_case_table_names | 0     |  ##0区分 1 不区分
+------------------------+-------+
2 rows in set (0.00 sec)

修改配置文件 /etc/my.cnf 添加:

# 0:区分大小写,1:不区分大小写
lower_case_table_names =1

重启后生效:

systemctl restart mysqld

11、用户权限

把数据库迁移到新的服务器上,执行存储过程时出现了如下问题:

execute command denied to user ‘用户名’@’%’ for routine ‘函数名称’

后来一查原来是权限问题,只要用下面的语句改一下相应用户的权限就可以了:

GRANT ALL PRIVILEGES ON *.* TO ‘用户名’@’%’ ;
FLUSH PRIVILEGES;

相应的撤消权限命令:

REVOKE ALL PRIVILEGES ON *.* FROM  ‘用户名’@’%’ ;
FLUSH PRIVILEGES;

12、跑脚本的时候:

  1. ERROR 1067 (42000): Invalid default value for 'FAILD_TIME' (对TIMESTAMP 类型的子段如果不设置缺省值或没有标志not null时候在创建表时会报这个错误)
    这是因为sql_mode中的NO_ZEROR_DATE导制的,在strict mode中不允许'0000-00-00'作为合法日期

使用下面的命令查看sql_mode

mysql>show variables like 'sql_mode';

+---------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| Variable_name | Value                                                                                                                                     |
+---------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| sql_mode      | ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+---------------+-------------------------------------------------------------------------------------------------------------------------------------------+

将上面的NO_ZERO_DATE改为下面的ALLOW_INVALID_DATES

mysql> set sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ALLOW_INVALID_DATES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

上面的设置是临时设置,在重新登陆后,该设置又恢复为NO_ZERO_DATE

最后为方便大家学习测试,特意给大家准备了一份13G的超实用干货学习资源,涉及的内容非常全面。


包括,软件学习路线图,50多天的上课视频、16个突击实战项目,80余个软件测试用软件,37份测试文档,70个软件测试相关问题,40篇测试经验级文章,上千份测试真题分享,还有2021软件测试面试宝典,还有软件测试求职的各类精选简历,希望对大家有所帮助……

关注我公众号:【程序员二黑】即可获取这份资料了!

如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入我们的群:785128166 大家一起讨论交流,里面也有各种软件测试资料和技术交流。

 

macbook终端安装软件(代码片段)

对于一个习惯了在Ubuntu的终端上通过apt-get来安装工具软件的我来说,也希望在Mac上找到类似的工具,能很方便的一条命令就能安装所需的软件,而不用手工的去查找下载编译,或者是折腾安装所需的一些依赖关系。很惊喜发现... 查看详情

idea使用jdbc连接mysql数据库,看完就懂(代码片段)

要好好的都会好起来的。JDBC连接MySQL数据库1.使用MySQLjdbc连接器mysql-connector-java.jar。2.加载驱动3.创建链接4.创建statement对象5.执行SQL语句6.关闭资源1.使用MySQLjdbc连接器mysql-connector-java.jar。1.首先从mysql官网下载mysql-connector-java.jar包... 查看详情

python爬虫,爬取网站图片,详细解释(看完就会)(代码片段)

Xpath  解析图片项目  #指定urlurl=\'http://pic.netbian.com/4kyingshi/\'#UA伪装headers=\'User-Agent\':\'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)\'\'Chrome/91.0. 查看详情

看完就能出去神侃,来自研发第一线的“区块链”扫盲文

这两年要说什么概念最火,那一定是区块链了。现在要是自己不说一说什么是公链、私链,什么是Token,都不好意思说自己是做IT的。可是什么是区块链?它的出现能解决我们现实生活中什么问题?什么是代币?什么是共识机制... 查看详情

css3动画属性animation详解(看完就会)(代码片段)

...轮播图swiper框架的基本使用【Transform3D】转换详解(看完就会)【css动画】移动的小车【CSS3】float浮动与position定位常见问题(个人笔记)如何完成响应式布局,有几种方法?看这个就够了详解CSS3中最好用... 查看详情

fish_redux使用详解---看完就会用!(代码片段)

...句心里话,这篇文章,来来回回修改了很多次,如果认真看完这篇文章,还不会写fish_redux,请在评论里喷我。前言来学学难搞的fish_redux框架吧,这个框架,官方的文档真是一言难尽,比flutter_bloc官网的文档真是逊色太多了,但... 查看详情

从0学习git使用看完就会(代码片段)

Git是一个开源的分布式的版本控制系统,可以有效的高速的处理从小到大的项目管理工具Git是世界上最先进的分布式版本控制工具什么是版本控制工具:就是开发的过成中一个软件的使用技巧,可以确保不同人所编辑... 查看详情

看完就明白什么是同步/异步阻塞/非阻塞(代码片段)

  相信干IT的或多或少都听说过同步、异步、阻塞、非阻塞这四个词,它们也可以分成两对,也就是同步、异步一对,阻塞、非阻塞一对,这个看词义就很好理解。关键问题在于同步和阻塞、异步和非阻塞之间的区别,很多人... 查看详情

python环境怎么搭建?0基础看完就会,简简单单轻轻松松(代码片段)

很多小伙伴安装了python不会搭建环境,看完这个你就会了Python可应用于多平台包括Linux和MacOSX。你可以通过终端窗口输入"python"命令来查看本地是否已经安装Python以及Python的安装版本。Unix(Solaris,Linux,FreeBSD,AIX,HP/UX,SunOS,IRI... 查看详情

看完就明白_spring事务的7种传播行为(代码片段)

什么叫事务传播行为?听起来挺高端的,其实很简单。 即然是传播,那么至少有两个东西,才可以发生传播。单体不存在传播这个行为。事务传播行为(propagationbehavior)指的就是当一个事务方法被另一个... 查看详情

看完就明白_spring事务的7种传播行为(代码片段)

什么叫事务传播行为?听起来挺高端的,其实很简单。 即然是传播,那么至少有两个东西,才可以发生传播。单体不存在传播这个行为。事务传播行为(propagationbehavior)指的就是当一个事务方法被另一个... 查看详情

看完就彻底懂了session和cookie(代码片段)

http之session和cookie由于HTTP协议是无状态的协议,所以服务端需要记录用户的状态时,就需要用某种机制来识具体的用户,这个机制就是Session.典型的场景比如购物车,当你点击下单按钮时,由于HTTP协议无状态&#... 查看详情

快速搭建一个网关服务,动态路由鉴权看完就会(含流程图)(代码片段)

前言本文记录一下我是如何使用Gateway搭建网关服务及实现动态路由的,帮助大家学习如何快速搭建一个网关服务,了解路由相关配置,鉴权的流程及业务处理,有兴趣的一定看到最后,非常适合没接触过网关... 查看详情

快速搭建一个网关服务,动态路由鉴权看完就会(含流程图)(代码片段)

前言本文记录一下我是如何使用Gateway搭建网关服务及实现动态路由的,帮助大家学习如何快速搭建一个网关服务,了解路由相关配置,鉴权的流程及业务处理,有兴趣的一定看到最后,非常适合没接触过网关... 查看详情

快速搭建一个网关服务,动态路由鉴权看完就会(含流程图)(代码片段)

来源:juejin.cn/post/7004756545741258765上一篇:编写if时尽量不要带else前言本文记录一下我是如何使用Gateway搭建网关服务及实现动态路由的,帮助大家学习如何快速搭建一个网关服务,了解路由相关配置,鉴权的流... 查看详情

使用深度完美的xp32位安装mysql5.2.6时总提示错误,但是更换成微软或者雨林木风的xp32位就能装上

使用深度完美的XP32位安装mysql5.2.6时总提示错误,说不能加载安装或转换器库,但是更换成微软或者雨林木风的XP32位就能装上,以下图片就是深度完美的错误提示,求大神解答。如果我在不能更换系统的情况下有什么办法补救?... 查看详情

3分钟带你品尝新鲜出炉的java17,看完就知道香不香!(代码片段)

Java已经过了20个年头了,Java8之后,JDK的发行计划变了不少,半年一小聚,三年一大闹。根据Oracle官方的的文档,长期支持的Java版本是Java11和Java17。其中Java17计划在2021年9月14号发布,Java17将是一个长期支... 查看详情

python表情包下载器,轻松下载上万个表情包斗图不用愁...(代码片段)

点击蓝字关注我们每次和朋友聊天苦于没有表情包,而别人的表情包似乎是取之不尽、用之不竭。作为一个程序员哪能甘愿认输,于是做了一个表情包下载器供大家斗图。首先,还是介绍一下设计思路吧,和我们之前做的百度图... 查看详情