美文网首页
mysql 启动

mysql 启动

作者: aaagu1234 | 来源:发表于2020-05-01 15:44 被阅读0次

    版本: mysql 5.7
    1、下载mysql
    https://dev.mysql.com/downloads/
    2,配置环境变量
    变量名:MYSQL_HOME
    变量值:D:\Program Files\mysql-5.7.30-winx64

    path里添加:%MYSQL_HOME%\bin;

    3、生成data文件

    以管理员身份运行cmd

    进入D:\Program Files\mysql-5.7.30-winx64\bin 下

    执行命令:mysqld --initialize-insecure --user=mysql 在D:\Program Files\mysql-5.7.30-winx64\bin目录下生成data目录

    4.启动服务

    执行命令:net start mysql 启动mysql服务,若提示:服务名无效,执行命令:mysqld -install 即可
    停止服务:net stop mysql

    卸载服务:mysqld --remove mysql

    下面开始使用MySql:

    1、链接mysql:(以root账号登录)

    mysql -u root -p

    初始没有密码,直接enter

    注意:当配置文件中将Mysql端口号更改了,则登录时需指定端口,P为大写:(这里我设置的端口为3309,,主机ip为192.168.168.152)

    mysql -P 3309 -h 192.168.168.152 -u root -p

    2、登录之后,修改密码,并配置远程访问

    登陆成功之后修改密码(密码修改为admin):

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'admin';
    

    或者

    update mysql.user set authentication_string=password('admin') where user='root' and Host = 'localhost';
    

    默认不允许远程访问MySQL,如果需要远程访问,下面是开启远程访问的命令:

    use mysql;
    
    update user set host = '%' where user = 'root';
    
    FLUSH PRIVILEGES;
    

    3、基础操作

    ①创建数据库:

    create database Temp DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

    删除数据库:drop database Temp;

    ②创建用户:

    CREATE USER 'test'@'%' IDENTIFIED BY '123456';

    CREATE USER 'user_name'@'host' IDENTIFIED BY 'password';

    user_name:要创建用户的名字。

    host:表示要这个新创建的用户允许从哪台机登陆,如果只允许从本机登陆,则 填 ‘localhost’ ,如果允许从远程登陆,则填 ‘%’

    password:新创建用户的登陆数据库密码,如果没密码可以不写。

    ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改密码永不过期

    可执行,select * from user;查看用户列表(查看用户拥有的权限,可以看到用户很多权限都是N,因为未授权)

    4、授权用户:

    GRANT ALL PRIVILEGES ON Temp.* TO 'test'@'%';

    GRANT privileges ON databasename.tablename TO ‘username’@‘host’

    privileges:表示要授予什么权力,例如可以有 select , insert ,delete,update等,如果要授予全部权力,则填 ALL

    databasename.tablename:表示用户的权限能用在哪个库的哪个表中,如果想要用户的权限很作用于所有的数据库所有的表,则填 .,*是一个通配符,表示全部。

    ’username‘@‘host’:表示授权给哪个用户。

    5、刷新权限表

    flush privileges;

    执行这个命令的原因是,需要将新加入的用户写入到权限表中,即更新grant table

    6、用Navicat for MySQL链接数据库:

    如果链接失败的话,报错:Client does not support authentication protocol requested by server;

    (原因:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password;那么把mysql用户登录密码加密规则还原成mysql_native_password即可)

    执行命令:

    ALTER USER 'test'@'%' IDENTIFIED WITH mysql_native_password BY '123456';#更新密码加密规则

    FLUSH PRIVILEGES; #刷新权限

    7、mysql 退出,有三种方式可退出:
    mysql > exit;
    mysql > quit;
    mysql > \q;

    8、如果忘记了mysql root账号密码,可以进行重置密码(转载原文章地址:https://www.cnblogs.com/baimj/p/11738708.html)

    ①停止mysql服务:

    net stop mysql

    ②开启跳过密码验证登录的MySQL服务

    mysqld --console --skip-grant-tables --shared-memory 
    

    ③再打开一个新的cmd,无密码登录MySQL

    mysql -u root -p

    ④ 密码置为空

    use mysql
    
    update user set authentication_string='' where user='root';
    

    ⑤退出mysql

    quit
    

    ⑥关闭以-console --skip-grant-tables --shared-memory 启动的MySQL服务,

    ⑦ 启动MySQL服务。

    net start mysql 
    

    ⑧步骤4密码已经置空,所以无密码状态登录MySQL,输入登录命令:mysql -u root -p

    ⑨修改密码:

    ALTER USER ``'root'``@``'localhost' IDENTIFIED BY ``'123456'``;

    ⑩刷新重新进入

    quit;

    net stop mysql

    net start mysql

    mysql -u root -p

    输入密码,登录成功。

    转载: https://www.cnblogs.com/wanggang2016/p/10425780.html

    相关文章

      网友评论

          本文标题:mysql 启动

          本文链接:https://www.haomeiwen.com/subject/nnrqghtx.html