• ADADADADAD

    mysql学习5:第二章:mysql安装启动和关闭——密码重置及权限管理[ mysql数据库 ]

    mysql数据库 时间:2024-12-24 19:11:44

    作者:文/会员上传

    简介:

    1.1. mysql数据库root密码丢失问题通过添加--skip-grant-tables参数跳过权限表#mysql -uroot -p强制停库,先查看mysql进程号[root@localhost mysql]# ps -ef |grep mysqlroot

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    1.1. mysql数据库root密码丢失问题

    通过添加--skip-grant-tables参数跳过权限表

    #mysql -uroot -p

    强制停库,先查看mysql进程号

    [root@localhost mysql]# ps -ef |grep mysql

    root 16762 1 0 10:18 pts/3 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/mysql.pid

    mysql 18122 16762 0 10:18 pts/3 00:00:01 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/error.log --open-files-limit=65535 --pid-file=/data/mysql/mysql.pid --socket=/tmp/mysql.sock --port=3306

    kill掉mysql进程,命令如下:

    [root@localhost mysql]# kill -9 18122 16762

    跳过权限检查表,重启数据库;

    #./mysqld_safe --defaults-file=/etc/my.cnf --skip-grant-tables &

    为了安全可以这样禁止远程连接:

    # mysqld_safe --skip-grant-tables --skip-networking &

    重新登陆入数据库

    给root用户设置新密码并授权,5.7之后,密码password用authentication_string字段代替;

    # mysql

    mysql>use mysql

    #查看用户

    mysql> select user,host from user;

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

    mysql>flush privileges;

    修改完毕。重启

    [root@localhost ~]# service mysql restart

    正常启动数据库

    #./mysqld_safe --defaults_file=/etc/my.cnf &

    #mysql -uroot -p

    然后mysql就可以连接,可正常修改用户密码

    mysql> alter user 'root' identified by 'root123';

    mysql> set password for 'root'@'localhost'=password('123');

    1.2. mysql数据库的连接方式

    linux平台两种连接方式:1.tcp/ip连接方式;2.Socket连接

    windows平台:1.name pipe;2.share memory(不考虑);

    TCP/IP连接使用最广:

    mysql -u username -p password -P port -h IP

    客户端发起到实例的链接》实例检查权限表mysql.user》允许则建立链接。

    Unix Socket连接方式不是网络协议,只能用于客户端和数据库实例在一台服务器上使用。配置文件中指定套接字文件路径:socket=/tmp/mysql.sock

    连接命令:

    mysql -u username -p password -S */tmp/mysql.sock

    连接mysql的工具: sqlyog,navicat;

    1.3. 用户权限管理

    MySQL数据库中用户分为超管权限用户root和普通用户(root用户创建)。

    超管权限和all privileges权限用户只能归DBA管理。

    创建用户,尽量专库专账号,不要一个账号管理多个库。

    创建用户语法:

    create user username@host identified by ‘password’;

    注意:主机IP避免用%,可分配一个IP段;

    权限分类:

    l 只读权限:只能查询,不能DML

    l 读写权限:insert,update,delete,select

    示例:

    create user ‘erp_read’@’192.168.56.%’ identified by ‘erp123’;

    grant select on erp.* to ‘erp_read’@’192.168.56.%’ identified by ‘erp123’;

    flush privileges;

    create user ‘erp_user’@’192.168.56.%’ identified by ‘erp456’;

    grant select,insert,update,delete on erp.* to ‘erp_user’@’192.168.56.%’ identified by ‘erp456’

    flush privileges;

    热门标签: mysql关闭学习