wget https://dev.mysql.com/get/mysql80-community-release-el7-4.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum update
yum install mysql-server
权限设置:
chown -R mysql:mysql /var/lib/mysql
初始化 MySQL:
mysqld --initialize
启动 MySQL:
systemctl start mysqld
如报:Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
说明权限没有配置成功,重新执行一遍权限,初始化操作
查看 MySQL 运行状态:
systemctl status mysqld
启动成功
注意:如果我们是第一次启动 mysql 服务,mysql 服务器首先会进行初始化的配置。
此外,你也可以使用 MariaDB 代替,MariaDB 数据库管理系统是 MySQL 的一个分支,
主要由开源社区在维护,采用 GPL 授权许可。开发这个分支的原因之一是:甲骨文公司收购了 MySQL 后,
有将 MySQL 闭源的潜在风险,因此社区采用分支的方式来避开这个风险。
MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。
yum install mariadb-server mariadb
mariadb数据库的相关命令是:
systemctl start mariadb #启动MariaDB
systemctl stop mariadb #停止MariaDB
systemctl restart mariadb #重启MariaDB
systemctl enable mariadb #设置开机启动
验证 MySQL 安装
在成功安装 MySQL 后,一些基础表会表初始化,在服务器启动后,你可以通过简单的测试来验证 MySQL 是否工作正常。
使用 mysqladmin 工具来获取服务器状态:
使用 mysqladmin 命令来检查服务器的版本, 在 linux 上该二进制文件位于 /usr/bin 目录,在 Windows 上该二进制文件位于C:\mysql\bin 。
[root@host]# mysqladmin --version
linux上该命令将输出以下结果,该结果基于你的系统信息:
mysqladmin Ver 8.23 Distrib 5.0.9-0, for redhat-linux-gnu on i386
如果以上命令执行后未输出任何信息,说明你的Mysql未安装成功。
使用 MySQL Client(Mysql客户端) 执行简单的SQL命令
你可以在 MySQL Client(Mysql客户端) 使用 mysql 命令连接到 MySQL 服务器上,默认情况下 MySQL 服务器的登录密码为空,所以本实例不需要输入密码。
命令如下:
在Linux登录Mysql主要有:
1. 登录本地mysql:
mysql -u 用户名 -p
# 例如
mysql -u root -p #先输入,回车
# 也可不用空格
mysql -u用户名 -p
然后提示输入密码,回车即可;
2. 登录远程mysql:有主机名和端口号,有时也没有端口号
mysql -h 主机 -P 端口 -u 用户名 -p
#也可不用空格
mysql -h主机 -P端口 -u用户名 -p
然后提示输入密码,回车。
查看初始化密码
初始化密码,保存在日志中,查看日志即可
cat /var/log/mysqld.log
临时密码
以上命令执行后会输出 mysql>提示符,这说明你已经成功连接到Mysql服务器上,你可以在 mysql> 提示符执行SQL命令:
mysql> SHOW DATABASES;
+----------+
| Database |
+----------+
| mysql |
| test |
+----------+
2 rows in set (0.13 sec)
这一步如报错:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
需要在执行此语句之前,必须使用ALTER USER语句重置密码。
alter user 'root'@'localhost' identified by 'root';
开启mysql远程服务:
查询所有用户及权限
select host,user from user;
1.修改mysql数据库下的user表中host的值
use mysql;
update user set host='%' where user='root';
FLUSH PRIVILEGES;
2. 使用授权的方式
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES;
如果想myuser用户使用mypassword密码从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
将mysql 服务加入开机启动项,并启动mysql进程
systemctl enable mysqld.service
systemctl start mysqld.service
常用mysql服务命令:
mysql -u username -p #登录mysql
quit #退出mysql
systemctl start mysqld.service #启动mysql
systemctl stop mysqld.service #结束
systemctl restart mysqld.service #重启
systemctl enable mysqld.service #开机自启
select version(); #查看mysql版本
在使用 Navicat for Mysql连接mysql 8.0时会报如下错误:
Authentication plugin 'caching_sha2_password' cannot be loaded:
mysql8.0 引入了新特性 caching_sha2_password;这种密码加密方式客户端不支持;客户端支持的是mysql_native_password 这种加密方式;
我们可可以查看mysql 数据库中user表的 plugin字段;
可以使用命令将他修改成mysql_native_password加密模式:
update user set plugin='mysql_native_password' where user='root';
在防火墙中开启3306端口
firewall-cmd --zone=public --list-ports 查看所有打开的端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent 开启一个端口,添加--permanent永久生效,没有此参数重启后失效
firewall-cmd --permanent --add-port=3306/tcp 开放端口3306
firewall-cmd --permanent --remove-port=3306/tcp 移除端口3306
firewall-cmd --reload 重启防火墙,修改后重启防火墙生效
重启防火墙
systemctl enable firewalld.service
systemctl start firewalld.service