centos7 安装mysql

下载 mysql5.7.17

下载mysql
点击下载

解压&复制到安装目录

tar -xvf mysql-5.7.17-1.el7.x86_64.rpm-bundle.tar
mkdir -p /usr/local/mysql5.7.17
mv mysql-community*.rpm /usr/local/mysql5.7.17

卸载mariadb

rpm -qa | grep mariadb
rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64

安装MySQL

rpm -ivh mysql-community-common-5.7.17-1.el7.x86_64.rpm  
rpm -ivh mysql-community-libs-5.7.17-1.el7.x86_64.rpm  
rpm -ivh mysql-community-client-5.7.17-1.el7.x86_64.rpm  
rpm -ivh mysql-community-server-5.7.17-1.el7.x86_64.rpm

设置密码

vi /etc/my.cnf
"[mysqld]之后添加 skip-grant-tables  #使用无授权登录"
service mysqld start
mysql -uroot
update mysql.user set authentication_string=passWord('your password') where user='root' ;
flush PRivileges;
exit;

service mysqld stop
vi /etc/my.cnf
"删除skip-grant-tables"
service mysqld start
mysql -u root -p <your password>

"这是因为刚开始设置了skip-grant-tables,所以这里系统会强制让我们改密码,执行以下三步:"
SET PASSWORD = PASSWORD('your new password');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
flush privileges;

设置可以进行远程连接【正式部署的时候不要设置】

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;

设置数据库不区分大小写

/etc/my.cnf 中的[mysqld]后添加添加lower_case_table_names=1;
1:表示不区分大小写 0:表示区分大小写

其他操作

  1. 允许root用户在一个特定的IP进行远程登录,并具有所有库任何操作权限,具体操作如下:
    在本机先使用root用户登录mysql: mysql -u root -p "youpassword"
    进行授权操作: GRANT ALL PRIVILEGES ON *.* TO root@"172.16.16.152" IDENTIFIED BY "youpassword" WITH GRANT OPTION;
    或者:grant all PRIVILEGES on discuz.* to ted@'123.123.123.123' identified by '123456';
    重载授权表: FLUSH PRIVILEGES;
    退出mysql数据库: exit

  2. 允许root用户在一个特定的IP进行远程登录,并具有所有库特定操作权限,具体操作如下:
    在本机先使用root用户登录mysql: mysql -u root -p "youpassword"
    进行授权操作: GRANT select,insert,update,delete ON *.* TO root@"172.16.16.152" IDENTIFIED BY "youpassword";
    重载授权表: FLUSH PRIVILEGES;
    退出mysql数据库: exit

  3. 删除用户授权,需要使用REVOKE命令,具体命令格式为: REVOKE privileges ON 数据库[.表名] FROM user-name; 具体实例,
    先在本机登录mysql: mysql -u root -p "youpassword"
    进行授权操作: GRANT select,insert,update,delete ON TEST-DB TO test-user@"172.16.16.152" IDENTIFIED BY "youpassword";
    再进行删除授权操作: REVOKE all on TEST-DB from test-user;
    ****注:该操作只是清除了用户对于TEST-DB的相关授权权限,但是这个“test-user”这个用户还是存在。
    最后从用户表内清除用户: DELETE FROM user WHERE user="test-user";
    重载授权表: FLUSH PRIVILEGES;
    退出mysql数据库: exit

  4. MYSQL权限详细分类: 全局管理权限:

  • FILE: 在MySQL服务器上读写文件。
  • PROCESS: 显示或杀死属于其它用户的服务线程。
  • RELOAD: 重载访问控制表,刷新日志等。
  • SHUTDOWN: 关闭MySQL服务。 数据库/数据表/数据列权限:
  • ALTER: 修改已存在的数据表(例如增加/删除列)和索引。
  • CREATE: 建立新的数据库或数据表。
  • DELETE: 删除表的记录。
  • DROP: 删除数据表或数据库。
  • INDEX: 建立或删除索引。
  • INSERT: 增加表的记录。
  • SELECT: 显示/搜索表的记录。
  • UPDATE: 修改表中已存在的记录。
  • ALL: 允许做任何事(和root一样)。
  • USAGE: 只允许登录--其它什么也不允许做。

posted on 2018-02-09 12:13  大胡子爸爸  阅读(63)  评论(0)    收藏  举报

导航