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

Linux下安装mysql及过程中遇到的问题

2017-05-03 00:00 507 查看
注意:安装和启劢 MySQL 服务需要 root 权限,切换成 root 用户

$ su


启劢 MySQL 服务:

# /etc/init.d/mysqld restart

或# /etc/init.d/mysqld start

没有什么东西说明启劢失败,则说明没有安装mysql。

查看本机mysql版本:

# rpm -aq | grep mysql

有则卸载:

# rpm -e –nodeps mysql-libs-5.1.71-1.el6.x86_64

安装 mysql 的服务端和客户端(前提是已经下载好mysql安装包):

# rpm -ivh MySQL-server-community-5.1.73-1.rhel5.x86_64.rpm

# rpm -ivh MySQL-client-community-5.1.73-1.rhel5.x86_64.rpm 安装 MySQL client

提示:mysql用户和用户组会自动建立,并且是mysql安装路径的所属用户和用户组

重新启动mysql:

# /etc/init.d/mysql restart

登录:

# mysql

进入到“mysql>”说明安装成功。

否则,可能提示:Access denied for user ‘root’@’localhost’ (using password: NO)

原因:登录需要密码,而且密码过期了

解决:修改密码,如下:

1. 关闭mysql:

# service mysql stop

or # /etc/init.d/mysql stop

or # kill -TERM mysqld(这个我没试过)

2. 以命令行参数启动mysql:

#/usr/bin/mysqld_safe --skip-grant-tables &

这时会停留在某个界面不动了,你可以重新开个命令行窗口,或者回车结束掉。

3. 进入mysql:

# mysql

4. 查看mysql库的user表:

mysql> show databases;



mysql> select Host, User, Password,password_expired from mysql.user;



会发现,所有的主机的root用户密码(password_expired=Y)都过期了,所以必须修改密码。

5. 修改管理员密码:

mysql> use mysql;

mysql> update user set password=password('123456') where user='root';

mysql> update user set password_expired='N' where user='root';

mysql> flush privileges;

mysql> exit;

6. 重启mysql:

# /etc/init.d/mysql restart

7.登录:

[root@master zoe]# mysql -uroot -p

Enter password:(输入新密码)

8.显示“mysql>”说明登录成功。

如果在修改密码的时候没有取消“password_expired”,则密码依然是过期的,当使用root有密码登录用“show databases;”时会出现错误:You must SET PASSWORD before executing this statement

https://dev.mysql.com/doc/refman/5.6/en/alter-user.html

所以我们需要再设置一下密码:

mysql> SET PASSWORD = PASSWORD('123456');

然后:

mysql> show databases;成功。



每个主机的root用户都要如此操作或者登录一个密码已经重新设置的主机root后,使用『

mysql> update user set password_expired='N' where user='root';』才能使密码生效。

创建用户:

mysql>grant all on *.* to hadoop@'%' identified by 'hadoop';

mysql>grant all on *.* to hadoop@'localhost' identified by 'hadoop';

mysql>grant all on *.* to hadoop@'master' identified by 'hadoop'; mysql>flush privileges;

创建数据库:

mysql>create database hive_13;

附:

修改密码的三种方式:

http://www.cnblogs.com/qq78292959/p/3641972.html

法一:

使用phpMyAdmin

  (图形化管理MySql数据库的工具),这是最简单的,直接用SQL语句修改mysql数据库库的user表,不过别忘了使用PASSWORD函数,插入用户用Insert命令,修改用户用Update命令,删除用Delete命令。在本节后面有数据表user字段的详细介绍。

法二:

使用mysqladmin。输入  

# mysqladmin -u root -p oldpassword newpasswd  

执行这个命令后,需要输入root的原密码,这样root的密码将改为newpasswd。同样,把命令里的root改为你的用户名,你就可以改你自己的密码了。

  当然如果你的mysqladmin连接不上mysql server,或者你没有办法执行mysqladmin,那么这种方法就是无效的,而且mysqladmin无法把密码清空。   

  下面的方法都在mysql提示符下使用,且必须有mysql的root权限:   

法三:

  mysql> INSERT INTO mysql.user (Host,User,Password) VALUES('%','system', PASSWORD('manager'));

  mysql> FLUSH PRIVILEGES;  

  确切地说这是在增加一个用户,用户名为system,密码为manager。注意要使用PASSWORD函数,然后还要使用FLUSH PRIVILEGES来执行确认。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息