1、关于服务器上myql的卸载:
1>使用以下命令查看当前安装mysql情况,查找以前是否装有mysql,命令:rpm -qa|grep -i mysql
2>停止mysql服务、删除之前安装的mysql,删除命令:rpm -e –nodeps 包名。eg:
rpm -ev perl-DBD-MySQL-4.023-6.el7.x86_64。如果提示依赖包错误,则使用以下命令尝试:rpm -ev perl-DBD-MySQL-4.023-6.el7.x86_64 --nodeps。如果提示错误:error: %preun(xxxxxx) scriptlet failed, exit status 1,
则用以下命令尝试:rpm -e --noscripts
perl-DBD-MySQL-4.023-6.el7.x86_64
3>查找之前老版本mysql的目录、并且删除老版本mysql的文件和库 (1)find / -name mysql ——>删除对应的mysql目录、eg:rm -rf /var/lib/mysql
具体的步骤如图:查找目录并删除:
注意:卸载后/etc/my.cnf不会删除,需要进行手工删除:rm -rf /etc/my.cnf.d (删除这个文件夹)
4>再次查找机器是否安装mysql:rpm -qa|grep -i mysql
5>总结:无结果,说明已经卸载彻底,接下来直接安装mysql即可。
==============================================================================
2、关于:CentOS7安装mysql服务器
[root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
使用上面的命令就直接下载了安装用的Yum Repository,大概25KB的样子,然后就可以直接yum安装了。
[root@localhost ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm
之后就开始安装MySQL服务器。
[root@localhost ~]# yum -y install mysql-community-server
3、MySQL数据库设置
首先启动MySQL
[root@localhost ~]# systemctl start mysqld.service
查看MySQL运行状态,运行状态如图:
[root@localhost ~]# systemctl status mysqld.service
此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root用户的密码,通过如下命令可以在日志文件中找出密码:
[root@localhost ~]# grep "password" /var/log/mysqld.log
如下命令进入数据库:
[root@localhost ~]# mysql -uroot -p
输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
这时候可能会报一个错:密码过于简单等相关。
这个其实与validate_password_policy的值有关。
validate_password_policy有以下取值:
默认是1,即MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。
有时候,只是为了自己测试,不想密码设置得那么复杂,譬如说,我只想设置root的密码为123456。
必须修改两个全局参数:
首先,修改validate_password_policy参数的值:
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
validate_password_length(密码长度)参数默认为8,我们修改为1
mysql> set global validate_password_length=1; Query OK, 0 rows affected (0.00 sec) 完成之后再次执行修改密码语句即可成功:
mysql> alter user 'root'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)
========================================================
之后通过navicat等可视化工具连接mysql时, 报错:1130-host ... is not allowed to connect to this MySql server,MySQL不允许从远程访问的方法
解决方法:
1。 改表法。
可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql -u root -pvmwaremysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
2. 授权法。
例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器的dk数据库,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
我用的第一个方法,刚开始发现不行,在网上查了一下,少执行一个语句 mysql>FLUSH RIVILEGES 使修改生效.就可以了
另外一种方法,不过我没有亲自试过的,在csdn.net上找的,可以看一下.
在安装mysql的机器上运行:
1、d:/mysql/bin/>mysql -h localhost -u root //这样应该可以进入MySQL服务器
2、mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION //赋予任何主机访问数据的权限
3、mysql>FLUSH PRIVILEGES //修改生效
4、mysql>EXIT //退出MySQL服务器
这样就可以在其它任何的主机上以root身份登录啦!
=======================================至此简单记录,方便以后有问题时查阅========================