【安装步骤】
查看有没有安装包
[root@localhost ~]#yum list mysql*
安装mysql客户端
[root@localhost ~]#yum install mysql
安装mysql服务端
[root@localhost ~]#yum install mysql-server
原因:CentOS7自带有MariaDB而不是MySQL,MariaDB和MySQL一样也是开元的数据库
解决方案:如果必须要安装MySQL,首先必须添加mysql社区repo通过输入命令:(权限不够,自行加入sudo)
rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
执行完后,则继续执行:
[root@localhost ~]#yum install mysql-devel
到此mysql数据库安装完成了,接下来需要对数据库进行一些简单配置
简单配置
在/etc/my.cnf
文件中加入默认字符集
[root@localhost ~]#vim /etc/my.cnf
##添加元素
collation-server = utf8_general_ci
init-connect='SET NAMES utf8'
character-set-server = utf8
启动或关闭mysql服务
[root@localhost ~]#service mysqld start --启动mysql
[root@localhost ~]#service mysqld stop --关闭mysql·
[root@localhost ~]#lsof -i:3306 --数据库端口是否开启
设置开机启动mysql服务方式一
进入系统目录:
cd /usr/lib/systemd/system/
编写mysqld.service
:
vim mysql.service
内容如下:
[Unit]
Description=MySQL Community Server
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
Alias=mysql.service
[Service]
User=mysql
Group=mysql
# Execute pre and post scripts as root
PermissionsStartOnly=true
# Needed to create system tables etc.
ExecStartPre=/usr/bin/mysql-systemd-start pre
# Start main service
ExecStart=/usr/bin/mysqld_safe --basedir=/usr
# Don't signal startup success before a ping works
ExecStartPost=/usr/bin/mysql-systemd-start post
# Give up if ping don't get an answer
TimeoutSec=600
Restart=always
PrivateTmp=false
Mysql
的实际安装目录
执行命令:
systemctl daemon-reload
# 开启自启
systemctl enable mysqld.service
# 启动、重启、停止
systemctl start|reload|stop mysql
设置开机启动mysql服务方式二
[root@localhost ~]# chkconfig --add mysqld
设置开机启动报错内容
开机启动报错内容
[root@localhost ~]# chkconfig --add mysqld
服务 mysqld 信息读取出错:没有那个文件或目录
解决设置开机启动报错
- 查找Mysql 安装目录
###默认安装路径
mysql_config --variable=pkglibdir
###MySQL的数据目录路径
mysql_config --variable=datadir
###默认配置文件路径
mysql_config --variable=confdir
###查看Mysql状态
systemctl status mysql
找到图片上的mysqld.server
服务文件复制到/etc/rc.d/init.d
下
cp /usr/lib/systemd/system/mysqld.service /etc/rc.d/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
然后执行
chkconfig --add mysqld
时提示“服务 mysql
不支持 chkconfig
,解决办法
要让chkconfig支持,就得在/etc/rc.d/init.d/mysqld
脚本中添加 两行注释:
# chkconfig: 234 19 08
# description: xxxxxxxxxxxxxxxxx
设置权限并添加开机启动:
##设置权限
chmod +x /etc/init.d/mysqld
##添加开机启动
chkconfig --add mysqld
创建root管理员
mysqladmin -u root password 密码
进入mysql容器中
mysql -u root -p
设置允许远程访问
开放防火墙的端口号
mysql
增加权限:mysql
库中的user
表新增一条记录host
为“%”
,user
为“root”
。
use mysql;
UPDATE user SET `Host` = '%' WHERE `User` = 'root' LIMIT 1;
##%表示允许所有的ip访问
select host from user;
开放防火墙端口,允许外部访问
版本的问题,两种方式
方式一
systemctl status iptables.service
####如果报错,则看方式二
Unit iptables.service could not be found
a、修改防火墙配置
vi /etc/sysconfig/iptables
加入:-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT 这段配置,然后进行保存
iptables
基本命令
systemctl restart iptables.service -- 重启防火墙
systemctl status iptables.service -- 查看状态
service iptables save -- 保存规则
systemctl enable iptables.service -- 设置开机启动
systemctl start iptables.service -- 开启服务
方式二
- 查看防火墙状态
systemctl status firewalld.service
- 开放端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
##重启防火墙
systemctl restart firewalld.service
测试远程访问
我用的是navicat客户端进行连接,如果弹出该提示框,则表示连接成功!
到此结束!