一、查系统版本
$ cat /etc/redhat-release
二、安装mysql
版本5.6
$ wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
$ rpm -ivh mysql-community-release-el7-5.noarch.rpm
$ yum install mysql-server
版本5.7
$ wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
$ rpm -ivh mysql57-community-release-el7-9.noarch.rpm
$ cd /etc/yum.repos.d/
$ yum install mysql-server
安装过程遇到的问题与解决
问题一:
执行rpm -ivh mysql-community-release-el7-5.noarch.rpm遇到报错。
解决:rpm -ivh mysql-community-release-el7-5.noarch.rpm --nodeps --force
加上--nodeps --force 为了让安装时不再分析包之间的依赖关系直接安装
问题二:
执行yum install mysql-server报错。
解决:进入mysql-community.repo, 找到mysql-56-community 将enable置为0 enable=0
$ vi /etc/yum.repos.d/mysql-community.repo
再执行yum install mysql-server即可成功。
三、启动mysql 服务
启动mysql
$ service mysqld start
重启mysql
$ service mysqld restart
停止mysql
$ service mysqld stop
查看mysql状态
$ service mysqld status
查看并测试
1.启动:service mysqld start
2. 查看端口:netstat -aunlpt | grep 3306
四、数据库创建角色并授权
1. 进入mysql
$ mysql
2.创建数据库->创建用户->用户授权
查看所有数据库
> show databases;
创建数据库 create database 名字
> create database test_database;
创建用户命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password';
username:创建的用户名
host: 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该 用户可以从任意远程主机登陆,可以使用通配符%
password:用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器
用户授权命令:GRANT privileges ON databasename.tablename TO 'username'@'host'
privileges: 用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权 限则使用ALL
databasename:数据库名
tablename: 表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示, 如*.*
用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:
GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION
示例:
> create user 'testuser'@'%' identified by '123456';
> GRANT ALL ON `test_database`.* TO 'testuser'@'%';
遇到的问题:用 mysql -u root -p 登录时报错
多半是密码错误设置的密码和输入的密码不对,但root密码和自己设置的用户密码都不记得时可以进行以下操作。
1.重置密码的第一步就是跳过MySQL的密码认证过程,查找my.cnf文件的位置
$ whereis my.cnf
文件位置是 ./etc/my.cnf并打开编辑
$ vim /etc/my.cnf
找到[mysqld],在它的后面任意下一行添加如下代码
skip-grant-tables
保存退出,然后重启mysql,打开mysql
1.use mysql;(使用mysql数据库)
2.
版本5.6
update user set password=password("新密码") where user="root";
版本5.7
update user set authentication_string=password("您要修改的密码") where user="root";
3.flush privileges;
root账户就已经重置成新的密码了,编辑my.cnf,去掉添加的内容,重启MySQL。
补充:
1、设置与更改用户密码
命令:SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');
如果是当前登陆用户用:
SET PASSWORD = PASSWORD("newpassword");
例子:
SET PASSWORD FOR 'testuser'@'%' = PASSWORD("123456");
2、撤销用户权限
命令:REVOKE privilege ON databasename.tablename FROM 'username'@'host';
privilege, databasename, tablename:同授权部分
eg: REVOKE SELECT ON *.* FROM 'testuser'@'%';
假如你在给用户'testuser'@'%'授权的时候是这样的(或类似的):GRANT SELECT ON test.user TO 'testuser'@'%';则在使用REVOKE SELECT ON *.* FROM 'testuser'@'%';命令并不能撤销该用户对test数据库中user表的SELECT 操作。
相反,如果授权使用的是GRANT SELECT ON *.* TO 'testuser'@'%';则REVOKE SELECT ON test.user FROM 'testuser'@'%';命令也不能撤销该用户对test数据库中user表的Select权限。
具体信息可以用命令SHOW GRANTS FOR 'testuser'@'%'; 查看。
3、删除用户
命令:DROP USER 'username'@'host';