CentOS7.x使用yum安装MySQL数据库

  • CentOS7.x将默认数据库MySQL替换成了Mariadb,下面使用yum进行安装MySQL
  • 系统为:CentOS7.6.1810
  • 最终安装MySQL版本:5.7.29

一、卸载Mariadb

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

二、使用MySQL的官方repo源,安装MySQL

cd /usr/local/src
# 下载MySQL的官方repo源
wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
# 安装Yum Repository
rpm -ivh mysql57-community-release-el7-10.noarch.rpm
# 查看可被安装的包
yum repolist enabled | grep mysql
# 安装MySQL服务器
yum -y install mysql-community-server #使用该条命令!
#yum -y install mysql-server mysql-devel 

上面源无法下载时,也可以使用https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpmrepo源。

三、设置MySQL数据库密码

启动MySQL

systemctl start mysqld

查看MySQL状态

systemctl status mysqld

此时MySQL已经正常运行,需要找出root的密码

grep 'temporary password' /var/log/mysqld.log

如下图,其中初始密码为:hC0AP<6gwX%f,每个人安装好MySQL并且启动后的密码均不唯一,以你查看到的为准!(另外,必须以mysql -u root -p回车后输入此密码才行,如果嫌密码不好输入,直接复制粘贴过去也行。)

查找MySQL登陆密码
  1. 为防止新密码设置过于简单报错,可登陆MySQL之后第一时间进行以下操作
  • mysql> set global validate_password_policy=0;
  • mysql> set global validate_password_length=1;
  1. 如果使用复杂密码且符合规范,使用密码生成器生成,随机密码生成器,特殊符号中添加:!,@,#,$,%,^,&,*,密码长度为16。
# 登陆MySQL
mysql -u root -p(回车后输入上面查到的密码)
# 输入初始密码后,此时不能做任何事情,因为MySQL默认必须修改密码才能正常使用
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

修改完成后,退出重新登陆MySQL时,即可使用新密码!

四、设置字符集为utf8 && 设置时区

1、使用新的密码登陆MySQL查看字符集与时区
# 查看字符集
mysql> show variables like 'char%';
# 查看时区
mysql> show variables like '%time_zone%';
装完MySQL之后有两处字符集不为utf8
2、修改字符集、修改时区
vim /etc/my.cnf

在该文件最后一行添加character-set-server=utf8,如下

修改字符集为utf8

在该文件中的 [mysqld] 下面添加时区

# 东八区时区,北京时区
default-time-zone = '+8:00'
3、根据需要修改数据库表名大小写敏感
# 不区分大小写
lower_case_table_names=1

lower_case_table_names: 此参数不可以动态修改,必须重启数据库
lower_case_table_names=0 表名存储为给定的大小和比较是区分大小写的
lower_case_table_names=1 表名存储在磁盘是小写的,但是比较的时候是不区分大小写
lower_case_table_names=2 表名存储为给定的大小写但是比较的时候是小写的

# 查看当前数据库大小写是否区分
show variables like 'lower_case_table_names';
4、/etc/my.cnf配置文件示例
# 字符集设置
character_set_server=utf8
# 东八区时区,北京时区
default-time-zone = '+8:00'

# 默认开启事件
event_scheduler=ON

#自增长起始值
auto-increment-offset = 1
#自增长步长
auto-increment-increment = 2
#临时表大小
tmp_table_size = 64M
# 不区分大小写
lower_case_table_names=1

## 以下为配置主从设置
#数据库唯一ID,主从的标识号绝对不能重复。
server-id=1
#开启bin-log,并指定文件目录和文件名前缀
#log-bin=mysql-bin
#需要同步liting数据库。如果是多个同步库,就以此格式另写几行即可。如果不指明对某个具体库同步,就去掉此行,表示同步所有库(除了ignore忽略的库)。
binlog-do-db=db1
binlog-do-db=db2
#不同步mysql系统数据库。如果是多个不同步库,就以此格式另写几行;也可以在一行,中间逗号隔开。
binlog-ignore-db=mysql
#确保binlog日志写入后与硬盘同步
sync_binlog = 1
#跳过现有的采用checksum的事件,mysql5.6.5以后的版本中binlog_checksum=crc32,而低版本都是binlog_checksum=none
binlog_checksum = none
#bin-log日志文件格式,设置为MIXED可以防止主键重复。
binlog_format = mixed
#二进制日志自动删除/过期的天数。默认值为 0,表示不自动删除。
expire_logs_days    = 10
#如果当前的日志大小达到max_binlog_size,还会自动创建新的二进制日志
max_binlog_size     = 100M
#表示 slave 将复制事件写进自己的二进制日志
log_slave_updates   = 1
#跳过主从复制中遇到的所有错误或指定类型的错误,避免 slave 端复制中断。
slave-skip-errors = all

5、重启数据库
systemctl restart mysqld

字符集修改完成后,重启MySQL,登陆MySQL查看下字符集,如下


修改完成后

五、移除MySQL的repo源

为了防止每次进行yum操作时其自动更新,移除MySQL的repo。

yum -y remove mysql57-community-release-el7-10.noarch

六、允许远程连接MySQL

查看当前用户权限:show grants;

1、更新root账号信息,允许任何主机以root账号登陆(推荐)
mysql> use mysql;
mysql> select host,user from user;
mysql> update user set host='%' where user='root';
2、任何主机以dev账号登陆
mysql> GRANT ALL PRIVILEGES ON *.* TO 'dev'@'%' IDENTIFIED BY 'new password' WITH GRANT OPTION;
3、指定主机以root账号登陆
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@’192.168.1.120’ IDENTIFIED BY 'new password' WITH GRANT OPTION;
4、新增用户并授权
# 创建用户
mysql> create user test@'%' identified by '123456';
# 授权
mysql> grant all privileges on test.* to test@'%';
5、进行以上任何操作,均需刷新权限
mysql> flush privileges;

七、MySQL自启

# 查看MySQL是否自启
systemctl is-enabled mysqld

如下如,为enabled时,MySQL为自启(安装MySQL之后,默认为自启,因此此步骤中不需要重复开启)

查看MySQL是否自启

八、防火墙放行3306端口

如果你的防火墙已经关闭,可忽略此操作。

# 永久开放3306端口
firewall-cmd --permanent --zone=public --add-port=3306/tcp
# 重启防火墙
systemctl restart firewalld
# 检测设定是否生效
iptables -L -n | grep 3306

九、MySQL5.25使用过程中出现的问题以及解决办法

9-1、在MySQL5.7.x的版本中,可能会出现[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated c,问题。[1]

问题原因:可能使用了低版本Navicat刷脚本时遇到的问题
问题解决:

1、在my.cnf[mysqld]下添加sql_mode

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

如下图


添加sql_mode
2、修改完配置文件后,重启MySQL

systemctl restart mysqld

3、使用SQLyog刷脚本

十、FAQ

安装失败,报错The GPG keys listed for the "MySQL 5.7 Community Server" repository are already installed but they are not correct for this package

报错如下

使用`yum -y install mysql-community-server`报错

说明:上述是在docker中已经安装有5.7.x的情况下安装https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm的repo源出现的问题,然后将docker中停止并移除了MySQL后问题依然如故;结果是在/etc/yum.repos.d/mysql-community.repo源中将gpgcheck由1更改为0后重新使用命令yum -y install mysql-community-server安装成功
更改当前使用的MySQL5.7.x的gpgcheck值


文章参考


字符集设置

用户新建


问题解决参考


  1. [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated c

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

推荐阅读更多精彩内容