执行rpm –qa|grep -i mysql查看是否存在旧版的mysql,若存在,则可使用如下命令依次删除php
rpm –e mysql-community-*node
查看是否存在残余垃圾mysql
whereis mysqlsql
执行如下命令删除数据库
rm -rf /var/lib/mysqlvim
rpm -qa | grep mariadb #显示以下: mariadb-libs-5.5.50-1.el7_2.x86_64 mariadb-5.5.50-1.el7_2.x86_64 mariadb-server-5.5.50-1.el7_2.x86_64
卸载centos
rpm -e mariadb-libs-5.5.50-1.el7_2.x86_64
此时报错:安全
error: Failed dependencies: libmysqlclient.so.18()(64bit) is needed by (installed) postfix-2:2.10.1-6.el7.x86_64 libmysqlclient.so.18()(64bit) is needed by (installed) perl-DBD-MySQL-4.023-5.el7.x86_64 libmysqlclient.so.18()(64bit) is needed by (installed) php-mysql-5.4.16-36.3.el7_2.x86_64 libmysqlclient.so.18(libmysqlclient_18)(64bit) is needed by (installed) postfix-2:2.10.1-6.el7.x86_64 libmysqlclient.so.18(libmysqlclient_18)(64bit) is needed by (installed) perl-DBD-MySQL-4.023-5.el7.x86_64 libmysqlclient.so.18(libmysqlclient_18)(64bit) is needed by (installed) php-mysql-5.4.16-36.3.el7_2.x86_64 mariadb-libs(x86-64) = 1:5.5.50-1.el7_2 is needed by (installed) mariadb-1:5.5.50-1.el7_2.x86_64 mariadb-libs(x86-64) = 1:5.5.50-1.el7_2 is needed by (installed) mariadb-server-1:5.5.50-1.el7_2.x86_64
强制卸载,由于没有–nodepsbash
# rpm -e --nodeps mariadb-libs-5.5.50-1.el7_2.x86_64 # rpm -e --nodeps mariadb-5.5.50-1.el7_2.x86_64 # rpm -e --nodeps mariadb-server-5.5.50-1.el7_2.x86_64
地址:http://dev.mysql.com/downloads/mysql/ide
选择mysql-5.7.14-1.el7.x86_64.rpm-bundle.tar下载到/tmp目录
执行解压
tar -xf mysql-5.7.14-1.el7.x86_64.rpm-bundle.tar
依次执行如下命令对上图的四格绿框的rpm进行安装,是依次执行,不要乱了顺序,由于它们之间有依赖关系。:
rpm -ivh mysql-community-common-5.7.14-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-5.7.14-1.el7.x86_64.rpm rpm -ivh mysql-community-client-5.7.14-1.el7.x86_64.rpm rpm -ivh mysql-community-server-5.7.14-1.el7.x86_64.rpm
错误信息
Linux CenterOs 64位中安装 MySQL-server-5.5.25a-1.rhel5.x86_64.rpm 出现如下错误 [root@localhost upload]# rpm -ivh mysql-server-5.5.25a-1.rhel5.x86_64.rpm error: Failed dependencies: libaio.so.1()(64bit) is needed by MySQL-server-5.5.25a-1.rhel5.x86_64 libaio.so.1(LIBAIO_0.1)(64bit) is needed by MySQL-server-5.5.25a-1.rhel5.x86_64 libaio.so.1(LIBAIO_0.4)(64bit) is needed by MySQL-server-5.5.25a-1.rhel5.x86_64
从以上错误信息能够看出是由于缺乏库libaio,因此须要安装libaio
安装libaio-0.3.107-10.el6.x86_64.rpm
下载地址:
http://mirror.centos.org/centos/6/os/x86_64/Packages/libaio-0.3.107-10.el6.x86_64.rpm
安装完成后,便可成功安装MySQL-server-5.5.25a-1.rhel5.x86_64.rpm
按照上面的方法,安装后以后若是仍是存在问题,你能够在文章后面进行留言说明
须要执行如下命令:
在Unix和Unix系列系统中,有一点是很重要的,那就是确保数据库目录与文件的全部者为mysql登陆帐户,以便在你运行mysqld服务的时候,mysql服务能够对这些目录和文件进行读取与写入操做。若是你是以root身份运行mysqld服务,就须要确认一下,执行以下面显示的包含有--user选项的命令:
mysqld --initialize --user=mysql
无论在哪一个平台上,使用--initialize选项就是以“默认安全模式”来进行安装的(即包含一个随机的root初始密码的生成)。在这种状况下,密码是被标志为过时的,你须要选择一个新的密码。
我是以root身份登陆Linux系统的,而且我想为root帐户生成一个随机的初始密码,因此我要执行命令:mysqld --initialize --user=mysql;这样就完成了对MySQL的初始化,并为root帐户生成了一个随机的初始密码。
vim /var/log/mysqld.log
systemctl start mysqld
咱们来看下mysqld是否已经启动了,执行命令:
systemctl status mysqld
若是看到的和下图同样,就说明已经启动了:
咱们来对上一步做个补充,由于你也有可能会遇到。若是你在执行命令:
systemctl start mysqld时,出现了和下图同样的提示:
Job for mysqld.service failed. See 'systemctl status mysqld.service' and 'journalctl -xn' for details.
出现这样的错误提示,咱们先查看一下/var/lib/mysql-files目录是否存在
执行命令:
ls -ld /var/lib/mysql-files
若是不显示任何信息就表示不存在
执行命令:
mkdir /var/lib/mysql-files
建立/var/lib/mysql-files目录。
这时,咱们试着执行命令:
systemctl start mysqld
若是还出现和下图同样的提示,咱们执行另外一条命令:chown -R mysql:mysql /var/lib/mysql,将/var/lib/mysql目录及其下全部文件和子目录的全部者和所属组都改成mysql。
咱们再执行一下:systemctl start mysqld应该就能够启动mysqld服务了。
执行命令:mysql -u root -p 并输入以前的随机密码
特别说明:(若是密码一致不正确,则能够不修改my.cnf配置文件进行不验证密码登陆)
除此登陆时必需要修改密码的,不修改密码是不能进行任何操做的。会提示以下信息:
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
执行
alter user 'root'@'localhost' identified by 'mYsqL$%123';
就将root帐户的密码修改成mYsqL$%123了。
有一点须要注意,MySQL对用户密码安全性有所增强,因此设置的密码必须包含有数字,大写字母,小写字母,特殊符号,若是你设置的密码过于简单,会提示:
ERROR 1819 (HY000): Your password does NOT satisfy the CURRENT policy requirements。
对于初次登陆系统进行密码修改,必需要修改成严格模式,若是密码国语简单,则会提示下面错误:
mysql> ALTER USER USER() IDENTIFIED BY 'root'; ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
这个其实与validate_password_policy的值有关。
validate_password_policy有如下取值:
Policy Tests Performed 0 or LOW Length 1 or MEDIUM Length; numeric, lowercase/uppercase, and special characters 2 or STRONG Length; numeric, lowercase/uppercase, and special characters; dictionary file
默认是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参数来决定。
mysql> select @@validate_password_length; +----------------------------+ | @@validate_password_length | +----------------------------+ | 8 | +----------------------------+ 1 row in set (0.00 sec)
validate_password_length参数默认为8,它有最小值的限制,最小值为:
validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)
其中,validate_password_number_count指定了密码中数据的长度,validate_password_special_char_count指定了密码中特殊字符的长度,validate_password_mixed_case_count指定了密码中大小字母的长度。
这些参数,默认值均为1,因此validate_password_length最小值为4,若是你显性指定validate_password_length的值小于4,尽管不会报错,但validate_password_length的值将设为4。以下所示:
mysql> select @@validate_password_length; +----------------------------+ | @@validate_password_length | +----------------------------+ | 8 | +----------------------------+ 1 row in set (0.00 sec)
mysql> set global validate_password_length=1; Query OK, 0 rows affected (0.00 sec)
mysql> select @@validate_password_length; +----------------------------+ | @@validate_password_length | +----------------------------+ | 4 | +----------------------------+ 1 row in set (0.00 sec)
按照以上操做以后,咱们就能够将密码修改成简单模式了。