当前位置: 代码迷 >> MySQL >> liunx安装mysql及常见有关问题
  详细解决方案

liunx安装mysql及常见有关问题

热度:145   发布时间:2016-05-05 17:05:34.0
liunx安装mysql及常见问题

一. 卸载原有mysql

查看安装包
命令:rpm -qa |grep -i mysql

[[email protected] ~]# rpm -qa |grep -i mysql
mysql-devel-5.1.73-3.el6_5.x86_64
mysql-5.1.73-3.el6_5.x86_64
perl-DBD-MySQL-4.013-3.el6.x86_64
mysql-server-5.1.73-3.el6_5.x86_64
mysql-libs-5.1.73-3.el6_5.x86_64

删除安装包

rpm -ev mysql-libs-5.1.73-3.el6_5.x86_64?? 删除每个mysql包

--------------------------------------------------------------------------------------------------------------------------------

删除过程有依赖,先删除依赖,删除依赖报错,如下:

[[email protected] ~]# rpm -ev mysql-libs-5.1.73-3.el6_5.x86_64
error: Failed dependencies:
??? libmysqlclient.so.16()(64bit) is needed by (installed) postfix-2:2.6.6-6.el6_5.x86_64
??? libmysqlclient.so.16(libmysqlclient_16)(64bit) is needed by (installed) postfix-2:2.6.6-6.el6_5.x86_64
??? mysql-libs is needed by (installed) postfix-2:2.6.6-6.el6_5.x86_64

使用命令: rpm -e mysql-libs-5.1.61-4.el6.x86_64 --nodeps

再次查看rpm -qa |grep -i mysql*????????? 都删除

---------------------------------------------------------------------------------------------------------------------------------

命令:whereis mysql;

删除mysql文件

查看时候在开机启动中

chkconfig --list | grep -i mysql?

[[email protected] ~]# chkconfig --list | grep -i mysql
mysqld???????? ??? 0:off??? 1:off??? 2:off??? 3:off??? 4:off??? 5:off??? 6:off

如果5和6为on 在开机启动中

删除 开机启动chkconfig --del mysql

?

二. yum 安装mysql

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 --list | grep mysql*
?
mysqld 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
停止:
service mysqld stop
2、登录
?
创建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("new_pass") where user="root";
flush privileges;
3、远程访问
?
开放防火墙的端口号
mysql增加权限:mysql库中的user表新增一条记录host为“%”,user为“root”。
4、Linux MySQL的几个重要目录

数据库目录
/var/lib/mysql/
配置文件
/usr/share /mysql(mysql.server命令及配置文件)
相关命令
/usr/bin(mysqladmin mysqldump等命令)
启动脚本
/etc/rc.d/init.d/(启动脚本文件mysql的目录)
--------------------------------------------------------------------------------------------------------------------

安装过程中出现问题(想设置root用户登录密码):

mysql> use mysql;
ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'

mysql> show databases;?
+--------------------+?
| Database |?
+--------------------+?
| information_schema |?
| test |?
+--------------------+?
2 rows in set (0.00 sec)

mysql> quit?
Bye

没有mysql数据库

提示:ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'。前两天也出现过这个问题,网上找了一个比较流行的方法(见方法一),搞定了。今天又用这个试了试,却搞不定,在网上找了半天,终于发现是因为mysql数据库的user表里,存在用户名为空的账户即匿名账户,导致登录的时候是虽然用的是root,但实际是匿名登录的,通过错误提示里的''@'localhost'可以看出来,于是解决办法见方法二。

方法一:
1.关闭mysql
?? # service mysqld stop
2.屏蔽权限
?? # mysqld_safe --skip-grant-table
?? 屏幕出现: Starting demo from .....
3.新开起一个终端输入
?? # mysql -u root mysql
?? mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
?? mysql> FLUSH PRIVILEGES;//记得要这句话,否则如果关闭先前的终端,又会出现原来的错误
?? mysql> \q

方法二:
1.关闭mysql
?? # service mysqld stop
2.屏蔽权限
?? # mysqld_safe --skip-grant-table
?? 屏幕出现: Starting demo from .....
3.新开起一个终端输入
?? # mysql -u root mysql
?? mysql> delete from user where USER='';
?? mysql> FLUSH PRIVILEGES;//记得要这句话,否则如果关闭先前的终端,又会出现原来的错误
?? mysql> \q

?

?

?

?

?

?

  相关解决方案