您的位置:首页 > 运维架构 > Linux

linux中的Mysql的安装、重置安装密码、修改权限

2016-04-22 19:17 661 查看
安装:

1、安装查看有没有安装过:
yum list installed MySQL*
rpm -qa | grep mysql*
查看有没有安装包:
yum list mysql*
安装mysql客户端:
yum install mysql
安装mysql 服务器端:
yum install mysql-server yum
install mysql-devel
2、启动&&停止 数据库字符集设置
mysql配置文件/etc/my.cnf中加入default-character-set=utf8
启动mysql服务: service mysqld start或者/etc/init.d/mysqld start
开机启动:
添加开机启动:chkconfig --add mysqld;
开机启动:chkconfig mysqld on;

查看开机启动设置是否成功chkconfig --list | grep mysql* mysqld 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭停止:
service mysqld stop
3、登录 创建root管理员:
mysqladmin -u root password 123456
登录: mysql -u root -p输入密码即可。忘记密码:
service mysqld stop;
mysqld_safe --user=root --skip-grant-tables;
这一步骤执行的时候不会出现新的命令行,你需要重新打开一个窗口执行下面的命令

mysql -u root;
use mysql ;
update user set password=password("123456") where user="root";
flush privileges;
4、远程访问 开放防火墙的端口号mysql
增加权限:mysql库中的user表新增一条记录host为“%”,user为“root”。
5、Linux MySQL的几个重要目录
数据库目录 /var/lib/mysql/
配置文件 /usr/share /mysql(mysql.server命令及配置文件)
相关命令 /usr/bin(mysqladmin mysqldump等命令)
启动脚本 /etc/rc.d/init.d/(启动脚本文件mysql的目录)

6、删除 mysql 数据库
如果使用的是 yum 安装的 mysql,需要删除的话,就使用如下命令:
yum -y remove mysql*
然后将 /var/lib/mysql文件夹下的所有文件都删除干净
最后再重新执行上面的安装步骤。

在第3步中,采用update为root用户重置了密码,之后是可以用root登录到mysql了,但是在之后要创建数据库之类的时候,就会发现失败(前几天碰到的问题,今天才总结,失败截图木有保留,只能这里说说而已了。。。。只记得错误码是1045和1044这两个,1045的问题上网百度很快就解决了,1044的应该是权限问题),因为权限问题,所以接下来就是要修改权限:

mysql>use mysql
ERROR 1-44(42000):Access denied for user 'root' @ 'localhost' to database 'mysql'
mysql>exit
Bye
[root@test~]# service mysqld stop
Stopping mysqld: [OK]
[root@test~]# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
[root@test~]# mysql -uroot -proot

mysql>use mysql
mysql>select host, user, password,Grant_priv,Super_priv from mysql.user;
mysql>update mysql.user set Grant_priv='Y',Super_priv='Y' where User='root';
mysql>flush privileges;
mysql>grant all on *.* 'root' @'localhost';
mysql>flush privileges;
mysql>quit
Bye
[root@test~]#service mysqld start

这个之后,貌似就可以以root身份创建数据库了。参考如下博客:

http://www.jb51.net/article/72395.htm

http://blog.csdn.net/bbirdsky/article/details/8134528

如果依然不能远程登录mysql数据库,则将mysql使用安全模式启动,即mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

之后修改root的密码,因为直接update set password无法成功,只能通过grant权限的方式修改密码:grant all privileges on *.* to 'root'@'%' identified by '123456',之后flush privileges,相当于重置了一次密码,重启mysql,即可远程登录

当初因为要安装hadoop、ranger,里面都用到了mysql数据库。设定的用户就是root用户,所以root用户必须要有创建数据库和写入数据的权限,因为元数据都是要写入mysql的。

问题果然还不遗留,隔了两天再总结就忘了当初碰到的各种问题了,还是应该当天碰到问题当天总结为好。。。。下次谨记。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: