liunx安装mysql及常见问题
一. 卸载原有mysql
查看安装包
命令:rpm -qa |grep -i mysql
[root@vm-10-154-xxx-xxx ~]# 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包
--------------------------------------------------------------------------------------------------------------------------------
删除过程有依赖,先删除依赖,删除依赖报错,如下:
[root@vm-10-154-156-xxx ~]# 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
[root@vm-10-154-156-224 ~]# 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
设置root用户的口令(被要求Enter password的时候,直接按回车键就过去了):
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
-----------------------------------------------------------------------------------------------------------------------------
连接数据库报错:_mysql_exceptions.OperationalError: (1045, "Access denied for user 'root'@'10.58.100.111' (using paord: YES)")
在数据库中添加ip访问权限就可以了。
操作步骤:
1.mysql -h 10.154.156.224 -u root -P 3306 -p
输入密码
2.更换数据库
use mysql
3.GRANT ALL ON *.* to root@'10.58.100.111' IDENTIFIED BY 'your-root-password';
your root password 是root用户的密码
4.FLUSH PRIVILEGES;