mysql学习5:第二章:mysql安装启动和关闭——密码重置及权限管理
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学习5:第二章:mysql安装启动和关闭——密码重置及权限管理
本文来源:http://pwwzsj.com/article/pdsgos.html