最近突然想折腾下linux,由于有一段时间没接触了,有点生疏。基于现在很多人都是用centos代替redhat来作为服务器,所以我们也用centos来折腾吧!本人用虚拟机,所以很简单,直接去centos官网下载镜像我是选择最小安装镜像的,虚拟机安装centos可参考这里,特别要注意的是到了“安装信息摘要”那里,记得在“网络和主机名”,那里将网络打开,不然会不安装网卡,那到时就坑了 ,我安装时没截图,下图是网络上找到。
接下来回到正传了,首先因为某某原因大家都知道了,所以还是先把改下yum的下载源改为阿里yum源的吧!按照他的帮助在linux终端中执行
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
然后执行yum makecache生成缓存就行了。
1、开始安装mysql
按照以前的做法,直接运行yum命令
yum install -y mysql-server mysql mysql-deve
安装mysql,mysql-server和mysql-deve即可,然后到最后你会发现,哎呀,报错了,找不到mysql-server,哼,第一步就出错了,真是的。好吧!这是目前centos7中的yum中没有mysql-server的原因。解决方法有两种,
(1)自己去mysql官网下载mysql-server的rpm包,自己手动安装。(例子可自己百度下centos安装mysql-server,本人就是使用这个解决方法)
(2)不安装mysql了,安装mariadb,这是MySQL社区开发的分支,也是一个增强型的替代品。上面的命令则是改为
yum -y install MariaDB-server MariaDB MariaDB-devel
即可,但相对的以后有些地方,如启动服务什么的都得用mariaDB这个服务名,如systemctl start mariadb(个人喜欢统一名字,且敲惯mysql,所以我使用第一种方案解决)
安装完后默认root用户是没有密码的,我们可以直接登录,然后设置密码,执行的命令如下
//保险起见,先重启下服务
service mysqld restart
//使用root用户,不用密码直接登录
mysql -u root
//登录成功,转到mysql数据库
mysql > use mysql;
//设置密码
mysql > update user set password=password('123456') where user='root';
mysql > flush privileges;
//添加密码后,退出,以后就可以用root密码登录了
mysql > exit;
接下来就可以进行一些mysql的设置了,这里就不多说了,但需要注意的是设置编码为utf-8的形式又改了,以前装的时候都是设置default-character-set=utf8,现在mysql拆分成了服务端和客户端,我们现在装的是服务端,所以在/etc/my.cnf中的配置是
[mysqld]
character_set_server=utf8
2、创建mysql用户
------------------------------------
use mysql
//创建账号user1密码为password的用户
CREATE USER 'user1'@'%' IDENTIFIED BY 'password';
//这里的%号代表所有的ip都可以连接,如果要指定ip可访问,只需将%改成指定的ip即可
3、为用户授权
接下来你使用user1登录mysql后,你会发现任何数据库和表都操作不了,这是因为还没给该用户设置可以访问哪些数据库的权限。4、配置防火墙
//zone代表区域,这里让所以的都通行,add-port表示增加的端口,--permanent表示永久协议
firewall-cmd --zone=public --add-port=3306/tcp --permanent
//重新加载防火墙规则
firewall-cmd --reload//我为了保险,一般不会执行这个命令,而是直接重启防火墙服务,反正他重启很快
service firewalld restart
好的!到了这里我们就可以使用user1用户进行远程登录我们的mysql数据库