参考文章:https://blog.csdn.net/Ghost_leader/article/details/53366942
由于CentOS 7 将mysql全部都改成了mariadb。所以在CentOS 下yum安装mysql是没有用的。虽然还是有一大堆软件包叫做mysql。
不过不用担心。mariadb和mysql几乎是一样的。首先,mariadb就是由mysql的创始人负责维护的。而mariadb就是mysql创始人女儿的名字。
首先第一步,安装mariadb!!!
yum install mariadb-server -y ##安装数据库服务软件 systemctl start mariadb ##开启数据库mysql ##进入数据库 netstat -antlpe |grep mysql ##数据库的网络端口 vim /etc/my.cnf ##禁止网络登陆 skip-networking=1 ##跳过网络服务 systemctl restart mariadb ##重启数据库 mysql_secure_installation ##数据库初始安全配置 mysql -uroot -p ##进入数据库,-u是登陆用户,-p该用户密码 |
下面的操作之前一定要记得先启动mariadb
systemctl start mariadb
注意,这里的root和linux的root没半毛钱关系.maria的初始密码默认是空的。需要你改一下的。不改也能登陆,就是不安全而已,你的库不要密码就能登陆,很可怕
改密码
[root@ns ~]# mysqladmin -uroot -p password xxxx
Enter password:
[root@ns ~]#
后面那个xxxx是你要改的密码。Enter password那里直接回车就好了
登陆mariadb
mysql -uroot -p
补充一点。mysql的密码都在mysql这个库里面,有一张表叫user,这里管理了可以登陆数据库的用户
再教一个改密码的方式吧(就是mysql_secure_installation这个命令)
[root@ns ~]# mysql_secure_installation
/usr/bin/mysql_secure_installation: line 379: find_mysql_client: command not found
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
介绍几个基本的命令
show databases; 显示数据库
use mysql; 进入数据库
show tables; 显示示数据库中的表
desc user; 查看user表的数据结构
flush privileges; 刷新数据库信息
select host.user,password from user; 查询user表中的host,user,password字段
create database westos; 创建westos数据库
use westos;
create table linux( 创建表,username,password字段
username varchar(15) not null,
password varchar(15) not null
);
select * from mysql.user; 查询mysql库下的user表中的所以
alter table linux add age varchar(4); 添加age字段到linux表中
ALTER TABLE linux DROP age 删除age字段
ALTER TABLE linux ADD age VARCHAR(5) AFTER name 在name字段后添加字段age
grant all privileges on *.* to 'root'@'%' identified by 'rootroot' //所有远程root帐户均可连接
grant all privileges on *.* to 'root'@10.163.225.87 identified by ‘123′;//只有10.163.225.87的主机root可连接
之后运行使生效:
flush privileges;
vim /etc/sysconfig/iptables
写入:这是开通3306端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
就是配置完iptables之后不要忙着重启要先保存的服务,然后再重启
service iptables save
service iptables restart
如果向看看当前网络相关信息配置,可运行:
netstat -ntlp
到阿里云控制台——实例——安全组——添加安全组规则——端口范围改成3303//3306即可,描述用自己的语言备注上是给Mysql用的,0.0.0.0/0 代表允许所有远程主机
那我要是不想别人远程登陆我的数据库怎么办呢
修改/etc/my.cnf 在第11行加上skip-networking=1,再重启mysql。
systemctl restart mariadb
报错:1130-host ... is not allowed to connect to this MySql server
这是因为未给用户授予权限
关于数据库的sql语句就不在这里细说了。直接说如何直接以图形的方式管理数据库吧
1.现在网上下一个phpMyAdmin-3.4.0-all-languages.tar.bz2这个软件包
2.再在yum安装php php-mysql http 这3款软件
3.在/var/www/html下解压缩phpMyAdmin
4.在phpMyAdmin-3.4.0-all-languages这个目录中的config.sample.inc.php下找个
$cfg['blowfish_secret'] = ‘随便填个值’ 并将config.sample.inc.php 改名为config.inc.php
关闭防火墙。
得到上面的图形
以图形方式管理数据库