• 第五十二篇 Linux相关——数据库服务MySQL


     
     
    No.1. MySQL基本操作
    • CentOS7默认安装mariadb数据库,先将其移除
    • 移除命令:sudo yum -y remove mariadb-libs.x86_64
    • 下载MySQL源:https://dev.mysql.com/downloads/repo/yum/
    • 安装源:sudo yum -y localinstall mysql57-community-release-el7-11.noarch.rpm
    • 安装服务端:sudo yum -y install mysql-community-server
    • 启动:sudo service mysqld start/restart
    • 停止:sudo service mysqld stop
    • 查看服务是否启动:ps -ef | grep mysqld
    • 查找默认密码:sudo cat /var/log/mysqld.log | grep password
    • 登录:mysql -uroot -p默认密码
    • 登录后设置密码:SET PASSWORD = PASSWORD('新密码')
    • 设置密码过于简单会报错,如果只想设置简单密码,需要修改以下两个参数:
    • set global validate_passowrd_policy=0
    • set global validate_password_length=1
    • 效果如下:
    • 退出数据库登录:exit 或者q
    • 使用新密码登录:mysql -uroot -proot
    • 上面这种方式不够安全,更安全的登录方式如下:
    • mysql -uroot -p不输入密码,直接回车,它会提示你输入密码,这样密码就不会以明文显示
    • mysql也可以指定需要连接的主机:mysql -h127.0.0.1 -uroot -p
    No.2. MySQL数据库开启远程连接
    • 先登录数据库:mysql -uroot -proot
    • 然后查看数据库:show databases;
    • 然后选择mysql:use mysql;
    • 然后查看表:show tables;
    • 然后查看表user中的内容:select * from user G;       # 其中G是进行格式化显示的参数
    • 我们只需要Host和User这两个字段:select Host, User from user G;   效果如下:
    • 执行update操作,更新字段:
    • update user set Host = '%' where Host = "localhost" and User = "root";
    • 其中"%"表示允许所有主机进行登录
    • 可以通过重启服务sudo service mysqld restart来刷新权限,也可以通过在登录数据库的状态下使用命令刷新权限:
    • flush privileges
    • 如果此时还是不能连接,那就是防火墙的锅了,sudo service firewalld stop
     
    No.3. 开启genelog
    • genelog可以记录所有的sql语句
    • 首先进入到数据库:mysql -uroot -proot
    • 设置genelog的保存位置:set global general_log_file="/tmp/general.log"
    • 开启genelog:set global general_log=on;
    No.4. 创建一个新用户
    • 登录数据库:mysql -uroot -proot
    • 选择mysql数据库: use mysql;
    • 创建新用户:create user 'litejie'@'%' identified by 'litejie';
    • 如果提示密码不符合要求,使用前面用过的那两个命令:
    • set global validate_password_policy=0
    • set global validate_password_length=1
    • 赋予用户权限:
    • grant all privileges on *.* to 'litejie'@'%' identified by 'litejie' with grant option;     其中"*.*"表示赋予用户litejie所有数据库的所有表的操作权限
    • 也可以只赋予部分操作权限:查询、插入、更新、删除
    • grant select, insert, update, delete on *.* to 'litejie'@'%' identified by 'litejie' with grant option;
    • 收回权限:
    • revoke all privileges on *.* from 'litejie'
    No.5. 重置密码
    • 编辑配置文件:sudo vim /etc/my.cnf
    • 在文件最后添加一行:skip-grant-tables   跳过验证
    • 保存并退出
    • 重启mysql服务:sudo service mysqld restart
    • 此时,直接输入:mysql -uroot -p回车即可登录数据可库
    • 选择mysql数据库:use mysql;
    • 更新user表:update user set authentication_string=password('root') where User='root';
    • 刷新权限:flush privileges;
    • 删除掉原先添加进文件/etc/my.cnf中的那行代码:skip-grant-tables
    • 重启mysql:sudo service mysqld restart
    • 完成密码更新
  • 相关阅读:
    exploded archive 和packaged archive 区别
    MyEclipse6.5使用设置技巧及快捷键
    本机上设置域名解析
    Cookie的生命周期问题
    简单的函数柯里化
    cookie操作
    自定义事件
    解耦应用逻辑/事件处理程序
    dragdrop + 自定义事件
    在窃取函数中用作用域安全的构造函数
  • 原文地址:https://www.cnblogs.com/xuezou/p/9428258.html
Copyright © 2020-2023  润新知