云服务器自带MariaDB,如无特别要求参照1)即可,本人1),2)都来了一遍
1)MariaDB
1.安装mysql数据库
yum install mysql mysql-devel mariadb-server mariadb –y
2.启动数据库
systemctl start mariadb
3.设置数据库密码
mysqladmin -u root password "admin@123"
4.配置mysql
vim /etc/my.cnf
#[mysql]
default-character-set =utf8
5.测试:
启动mysql服务:systemctl start mysqld
登录进Mysql(我的刚安装完时没有密码):mysql -uroot或mysql
如果出现错误:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
则说明mysql安装完后给root用户生成了一个默认密码,所以你需要使用密码登录。
mysql -uroot -p 回车 然后输入默认密码即可登录myql。
2)mysql
1、卸载mariadb
yum list installed | grep mariadb #检查mariadb是否已安装
yum -y remove mariadb* #全部卸载
2、下载并安装mysql的YUM源
下载mysql的YUM源:wget -P /home/chenxiaojun http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm(wget命令:http://man.linuxde.net/wget)
由于我们是下载到/home/chenxiaojun目录下,所以先切换到该目录下:cd /home/chenxiaojun
安装mysql的YUM源:rpm -ivh mysql57-community-release-el7-11.noarch.rpm
检查mysql的YUM源是否安装成功:yum repolist enabled | grep "mysql.*-community.*"
看到上图所示表示安装成功
选择要启用的mysql版本
查看mysql版本,执行:yum repolist all | grep mysql
可以看到 5.5, 5.6,8.0 版本是默认禁用的
可以通过类似下面的语句来启动或禁用某些版本
yum-config-manager --enable mysql57-community
yum-config-manager --disable mysql56-community
或者通过修改vim /etc/yum.repos.d/mysql-community.repo文件,改变默认安装的mysql版本。比如要安装5.6版本,将5.7源的enabled=1改成enabled=0,然后再将5.6源的enabled=0改成enabled=1即可。
注意: 任何时候,只能启用一个版本。
查看当前的启用的 MySQL 版本:yum repolist enabled | grep mysql
3、安装MySQL(tips:这里安装超慢,因为镜像库的原因,我直接挂在那让它跑,可以百度下有解决方案的)
yum install mysql-community-server
安装过程中一直输入"y"就可以了,当出现下面的结果时,就代表mysql数据库安装成功了
4、测试
启动mysql服务:systemctl start mysqld
登录进Mysql(我的刚安装完时没有密码):mysql -uroot或mysql
如果出现错误:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
则说明mysql安装完后给root用户生成了一个默认密码,所以你需要使用密码登录。
mysql -uroot -p 回车 然后输入默认密码即可登录myql。
关于如何查看默认密码,可以参考:CentOS7.4中安装了Mysql5.7之后如何查看默认密码
可能用到的命令:
systemctl start mysqld #启动mysqld
systemctl stop mysqld #停止mysqld
systemctl restart mysqld #重启mysqld
systemctl enable mysqld #设置开机启动
systemctl status mysqld #查看 MySQL Server 状态
5、防火墙设置
远程访问 MySQL, 需开放默认端口号 3306.
firewall-cmd --permanent --zone=public --add-port=3306/tcp
firewall-cmd --permanent --zone=public --add-port=3306/udp
执行firewall-cmd --reload使最新的防火墙设置规则生效
6、创建用户及设置
若无法创建用户,则是升级数据库造成的,执行下面
mysql_upgrade -u root -p admin@123
远程访问设置
创建一个普通用户 sa ,密码是123456
CREATE USER 'sa'@'%' IDENTIFIED BY '123456';
给这个用户授予 SELECT,INSERT,UPDATE,DELETE 的远程访问的权限,这个账号一般用于提供给实施的系统访问
GRANT SELECT,INSERT,UPDATE,DELETE ON *.* TO 'sa'@'%';
创建一个管理员用户 admin 账号 ,密码是 admin@123
CREATE USER 'admin'@'%' IDENTIFIED BY 'admin@123';
给这个用户授予所有的远程访问的权限。这个用户主要用于管理整个数据库、备份、还原等操作。
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%'; 设置用户 root 可以在任意 IP 下被访问:
grant all privileges on *.* to root@"%" identified by "admin@123";
设置用户 root 可以在本地被访问:
grant all privileges on *.* to root@"localhost" identified by "admin@123";
使授权立刻生效
flush privileges;
7、字符集
3)防火墙
配置防火墙端口
配置防火墙端口:
【1】查看防火墙是否开启(running已开启,dead未开启)
systemctl status firewalld
【2】开启防火墙(已开启请跳过这一步)
systemctl start firewalld
【3】再次查看
systemctl status firewalld
【4】执行80端口的永久开启
firewall-cmd --zone=public --add-port=80/tcp --permanent
【5】关闭防火墙
如果要关闭防火墙设置,可能通过systemctl stop firewalld这条指令来关闭该功能。