sudo su 切换到root用户
防火墙
如不关闭防火墙,那么必须开放端口!
查看防火墙状态
# 结果显示为running或not running
firewall-cmd --state
查询端口号是否开放
# 查询端口号3306是否开放
firewall-cmd --query-port=3306/tcp
关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
查看防火墙是否关闭
firewall-cmd --state
重新加载防火墙
firewall-cmd --reload
开启防火墙
systemctl start firewalld
0.简介
从CentOS 7.0发布以来,yum源中开始使用mariadb来代替MySQL的安装。即使你输入的是yum install mysql , 显示的也是mariadb的安装内容。输入yum install mysql-server,提示yum没有可用的安装包。
1.下载yum源
如果使用yum安装MySQL的话,就需要去下载官方指定的yum源。
打开网页:https://dev.mysql.com/downloads/repo/yum/
点击Red Hat Enterprise Linux 7 / Oracle Linux 7 (Architecture Independent), RPM Package后面的download,进入新的页面点击No thanks, just start my download.就可以看到下载源地址了。
wget https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm
注意:如果提示输入 wget命令无效,则安装 yum -y install wget
2.安装
2.1 安装rpm包
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
2.1.1 方法一:查看安装rpm是否成功
安装完成之后,我们发现在/etc/yum.repos.d目录下新增了两个文件:
- mysql-community.repo
- mysql-community-source.repo
2.1.2 方法二:查看安装rpm是否成功
检查mysql的yum源是否安装成功:
yum repolist enabled | grep "mysql.*-community.*"
如下图则表示成功
mysql-connectors-community/x86_64 MySQL Connectors Community 45
mysql-tools-community/x86_64 MySQL Tools Community 57
mysql57-community/x86_64 MySQL 5.7 Community Server 247
再次使用yum来安装mysql-server,就不会提示没有可用软件包.
2.2 yum 安装mysql
yum install mysql-community-server
安装mysql各文件的位置
| Files or Resources | Location |
|---|---|
| Client programs and scripts | /usr/bin |
| mysqld server | /usr/sbin |
| Configuration file | /etc/my.cnf |
| Data directory | /var/lib/mysql |
| Error log file | For RHEL, Oracle Linux, CentOS or Fedora platforms:/var/log/mysqld.log; For SLES: /var/log/mysql/mysqld.log |
| Value of secure_file_priv | /var/lib/mysql-files |
| System V init script | For RHEL, Oracle Linux, CentOS or Fedora platforms: /etc/init.d/mysqld For; SLES: /etc/init.d/mysql |
| Systemd service | For RHEL, Oracle Linux, CentOS or Fedora platforms: mysqld ;For SLES: mysql |
| Pid file | /var/run/mysql/mysqld.pid |
| Socket | /var/lib/mysql/mysql.sock |
| Keyring directory | /var/lib/mysql-keyring |
| Unix manual pages | /usr/share/man |
| Include (header) files | /usr/include/mysql |
| Libraries | /usr/lib/mysql |
| Miscellaneous support files (for example, error messages, and character set files) | /usr/share/mysql |
3.启动mysql
# 启动mysql服务
systemctl start mysqld
# 查看mysql服务的状态
systemctl status mysqld
4.配置mysq
4.1 开机启动
systemctl enable mysqld
systemctl daemon-reload
4.2 查看默认密码
mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改:
grep 'temporary password' /var/log/mysqld.log
用刚刚查到的密码登录
4.3 修改默认密码
# 先登录mysql
mysql -uroot -p
# 修改密码
set password for 'root'@'localhost'=password('MyNewPass!');
如果出现Your password does not satisfy the current policy requirements 密码:大小写数字特殊字符 全用上吧
4.4 开启mysql的远程登录
默认情况下mysql为安全起见,不支持远程登录mysql,所以需要设置开启 远程登录mysql的权限
将host字段的值改为%就表示在任何客户端机器上能以root用户登录到mysql服务器,建议在开发时设为%
# 登录进入mysql执行
grant all privileges on *.* to 'root' @'%' identified by '填写root的密码' with grant option;
flush privileges;
# 重启mysql
systemctl restart mysqld
4.5 开放对外端口3306
在 Centos 7 或 RHEL 7 或 Fedora 中防火墙由 firewalld 来管理,而不是 iptables
# zone -- 作用域
# add-port=3306/tcp -- 添加端口,格式为:端口/通讯协议
# permanent -- 永久生效,没有此参数重启后失效
# 开启3306端口后,workbench或naivcat 就能连接到MySQL数据库了
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 重新加载防火墙
firewall-cmd --reload
4.6 配置数据库为UTF8
4.6.1 显示当前系统编码;C表示ASCII码
# 在终端输入
locale
4.6.2 查看自己系统有没有安装中文语言包
locale -a
如果没有,就安装中文语言包
yum install kde-l10n-Chinese
4.6.3 修改i18n和locale.conf的配置文件
4.6.3.1修改i18n
centos7.6没有i18n配置,所以不用设置此项
vim /etc/sysconfig/i18n,在里面添加如下两行代码:
LANG="zh_CN.UTF-8"
LC_ALL="zh_CN.UTF-8"
然后执行一下,以使刚修改的文件生效:
source/etc/sysconfig/i18n
4.6.3.2修改locale.conf
vim /etc/locale.conf
# 添加
LANG="zh_CN.UTF-8"
同样执行一下,使刚修改的文件生效
source /etc/locale.conf
测试会不会显示乱码
[root@localhost /]# touch 你好.txt
[root@localhost /]# ls -l
-rw-r--r--. 1 root root 0 5月 10 01:17 你好.txt
...
最后重启mysql,重启命令行 systemctl restart mysqld
5 大功告成
真心佳作,实属不易!码农道路,多多指教!
本文详述在CentOS 7.6中安装MySQL 5.7的步骤,包括下载yum源、安装rpm包、启动与配置MySQL、修改默认密码、开启远程登录及防火墙端口,并最终将数据库配置为UTF8编码。
571

被折叠的 条评论
为什么被折叠?



